У меня есть пользовательский вид под названием DrawView
, созданный в основном виде деятельности. Я применил метод onDraw()
в классе DrawView
, и он изначально рисует круг. Затем я добавил слушателя касания, так что, когда пользователь нажимает, он затем рисует квадрат. Я до той части, где пользователь щелкает, и квадрат рисуется. Я не уверен, как это сделать.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
}
}
}
Справка была бы очень признательна.
Я думаю, что я получил это, чтобы работать, однако, есть способ рисовать круг, а затем рисовать квадрат без удаления круга? То есть Сначала нарисован круг, пользователь нажимает, а затем появляется квадрат, отображаются квадрат и круг. Я посмотрел на google, мне нужно иметь какой-то массив, чтобы следить за тем, что было нарисовано и перерисовывать все каждый раз? то есть 'Shapes [] ShapesDrawn = {circle, square, triangle, square}', поместить его в цикл for в методе onDraw? – 1user1160804