我在主要活动中创建了一个名为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
}
}
}
帮助将不胜感激。
我想我已经得到了这个工作,但是,有没有一种绘制圆的方法,然后绘制广场没有删除圆?即最初绘制一个圆,用户点击,然后有一个正方形,显示正方形和圆形。我在谷歌环顾四周,我是否必须有某种数组来跟踪已绘制的内容,并且每次都重绘所有内容?即'Shapes [] ShapesDrawn = {circle,square,triangle,square}',将它放在on循环中的onDraw方法? – 1user1160804