Hi AD-Community,
ich habe folegndes Problem, ich versuche über eine Methode aus einer Activity-Klasse auf eine Canvas/View Klasse zu zeichnen und anscheinend habe ich da nen tierischen Denkfehler drinne nur ich kann ihn mir im Moment nicht erklären. Wäre nett wenn sich jemand folgendes mal anschauen könnte und mir weiterhelfen könnte. beim Aufruf der Methode addLine passiert nämlich rein gar nix auf meinem "Canvas"
public class Striche extends View{
Paint paint;
Canvas canvas;
int breite;
int hoehe;
boolean isInitialized;
Bitmap bitmap;
public Striche(Context context, AttributeSet attrs) {
super(context, attrs);
paint = new Paint();
paint.setColor(Color.BLACK);
paint.setAntiAlias(true);
paint.setStyle(Paint.Style.FILL_AND_STROKE);
isInitialized = false;
}
private void init()
{
bitmap = Bitmap.createBitmap(getWidth(), getHeight(), Bitmap.Config.RGB_565);
canvas = new Canvas();
isInitialized = true;
}
@Override
protected void onDraw(Canvas canvas) {
if (!isInitialized)
init();
Bitmap eBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.deckel) ;
canvas.drawBitmap(eBitmap ,0,0, null) ;
breite = canvas.getWidth();
hoehe = canvas.getHeight();
Paint bild = new Paint();
paint.setColor(R.color.kulli);
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeWidth(6);
paint.setAntiAlias(true);
canvas.drawLine(40,40,60,60, paint);
}
public void addLine(int ort, int count){
paint = new Paint();
canvas.drawLine(0,0,77,132,paint);
paint.setColor(R.color.schwarz);
canvas.drawLine(40,40,70,70, paint);
paint.setColor(R.color.kulli);
}
}
Alles anzeigen
Was mach ich denn falsch? Bei dem Aufruf von kulli.addLine müssten doch die Beiden Linien gezeichnet werden
PSEUDOCODE DES AUFRUFS:
Striche kulli;
LinearLayout layout;
..onCreate(){
kulli = new Striche(this, null);
layout = (LinearLayout)findViewById(R.id.lay);
layout.addView(kulli);
...
}
onClickListener(){
..
kulli.addLine(1, 1);
}
Alles anzeigen
Danke für eure Hilfe!
Grüße Soma