Leinwand (onDraw -) Android

Habe ich versucht zu ziehen, verschiedene Rechtecke auf die Leinwand, nachdem Sie mehrmals die Taste klicken. Es sollte anzeigen, verschiedene farbige Rechteck und das Rechteck sollte weiterhin auf der Leinwand nach jedem button-Klick. Die Rechtecke sollten in der Lage sein sich zu bewegen auf der Leinwand. Ich habe geschrieben, die Aussicht Klasse, aber ich habe keine Ahnung, wie die Umsetzung der onDraw () - Methode auf Aktivität nach dem klicken auf eine Schaltfläche und auch keine Idee, Möglichkeiten zu schaffen, die verschiedene Farbe des Rechtecks.

Ich haben 4 Tasten auf meiner main.xml Datei.

public class DrawRectangle extends View {

public DrawRectangle(Context context){

    super(context);

}

@Override
protected void onDraw(Canvas canvas) {
    //TODO Auto-generated method stub
    super.onDraw(canvas);

    Rect ourRect = new Rect();

    ourRect.set(0, 0, canvas.getWidth()/2, canvas.getHeight()/2);

    Paint blue = new Paint();

    blue.setColor(Color.BLUE);

    blue.setStyle(Paint.Style.FILL);

    //Draw to actual canvas
    canvas.drawRect(ourRect, blue);

}

}

Dies ist meine activity-Klasse.

public class MainActivity extends Activity {

Button bluebutton, redbutton, yellowbutton, greenbutton;
DrawRectangle dr;
Canvas canvas;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    dr = new DrawRectangle(this);

    bluebutton = (Button)findViewById(R.id.bluebutton);
    redbutton = (Button)findViewById(R.id.redbutton);
    yellowbutton = (Button)findViewById(R.id.yellowbutton);
    greenbutton = (Button)findViewById(R.id.greenbutton);



bluebutton.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View arg0) {
        //TODO Auto-generated method stub

                dr.onDraw();
    }
});
}

}

Muss ich implementieren, die onTouchListener auch so, dass die Rechtecke bewegen kann?

Bitte um Rat. Danke.

InformationsquelleAutor pancakeleh | 2013-12-17
Schreibe einen Kommentar