メインアクティビティで作成されたDrawView
というカスタムビューがあります。私はDrawView
クラスにonDraw()
メソッドを実装しており、最初は円を描きます。私はタッチリスナーを追加して、ユーザーがクリックすると正方形を描くようにしました。私はユーザーがクリックして正方形が描かれている部分までです。私はこれについてどうやって行くのか分からない。Android、メインアクティビティからの描画
public class TestActivity extends Activity {
DrawView drawing;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ViewGroup myLayout = (ViewGroup) findViewById(R.id.mainLayout);
drawing = new DrawView(this);
myLayout.addView(drawing);
drawing.setOnTouchListener(new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
// draw a square
}
return true;
}
});
}
private class DrawView extends View {
public DrawView(Context context) {
super(context);
}
protected void onDraw(Canvas canvas) {
Paint myPaint = new Paint();
myPaint.setColor(Color.BLACK);
// draw a circle
}
}
}
ヘルプは大歓迎です。あなたは、元のクラスの機能上書きする必要が
私はこれを動作させると思っていますが、円を描く方法はありますか?円を取り除かずに四角形を描く方法はありますか?私。最初に円が描かれ、ユーザーがクリックしてから正方形があると、正方形と円の両方が表示されます。私はグーグル上を見回しましたが、描画されたものを追跡し、毎回すべてを描画するための配列を用意する必要がありますか?つまり、ShapesDraw = {円、正方形、三角形、正方形} 'を、onDrawメソッドのforループに配置しますか? – 1user1160804