アンドロイド:ボタンをクリックすると私のビューをきれいにする

私はビューを作成し、何かを描画するキャンバスを使用します。

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        MyViewCircle myViewCircle = new MyViewCircle(this);
        setContentView(R.layout.main);
        Button evolve = (Button) findViewById(R.id.evolve); 
        img01.addView(myViewCircle);
        evolve.setOnClickListener(new View.OnClickListener() {

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

            }
        });
    }
private class MyViewCircle extends View {

        public MyViewCircle(Context context) {
            super(context);
           //TODO Auto-generated constructor stub
        }

        @Override
        protected void onDraw(Canvas canvas) {
           //TODO Auto-generated method stub
            super.onDraw(canvas);
            Paint paint = new Paint();
            paint.setAntiAlias(true);
            paint.setColor(Color.RED);
            canvas.drawCircle(50, 50, 100, paint);
        }

    }

ボタンをクリックしたときにキャンバスをクリーンアップするコードを書くにはどうすればよいですか?また、ボタンをクリックすると、どのように形を変えることができますか?私は座標を変更したい:

canvas.drawCircle(150, 150, 200, paint);
0

3 答え

img01とは別のレイアウト/ビューの場合、Ex: img01.removeAllViews()を呼び出すことができます。

0
追加された

試す

 @Override
    protected void onDraw(Canvas canvas) {
        if(shouldDraw){
           super.onDraw(canvas);
           Paint paint = new Paint();
           paint.setAntiAlias(true);
           paint.setColor(Color.RED);
           canvas.drawCircle(50, 50, 100, paint);
        }else
           Canvas.drawColor(Color.BLACK);

    }

onClick

shouldDraw = false;
view.invalidate();
0
追加された
私はshouldDrawを作成しました。 (private Boolean shouldDraw = false;)、私はonclickListenerで使用することはできませんが、私はできません(shouldDraw = True)、なぜ教えてください?
追加された 著者 nich,
あなたはonCreateの上でそれを初期化しましたか?
追加された 著者 Dominic Bartl,

ボタンをクリックしてボタンが変わると、ボタンがクリックされたときにonDraw()メソッドをチェックインすることができます。

0
追加された