你知道如果我们想在android中使用一个按钮,我们使用以下代码:
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(MainActivity.this, B.class);
startActivity(intent);
}
});
现在我的问题是,如果我自己绘制一个矩形,我可以使用MotionEvent
类来实现此目的吗?如果可能的话怎么样?我写了下面的代码来绘制一个矩形。现在我想要矩形行为,如上面代码中的按钮。
public class B extends View {
Paint paint;
B(Context context) {
super(context);
paint = new Paint();
}
@Override
protected void onDraw(Canvas canvas) {
paint.setColor(Color.RED);
canvas.drawRect(10,20,40,100,paint);
}
@Override
public boolean onTouchEvent(MotionEvent event){
return true; // I am a little confused in this section in spite of searching in internet.
}
}
答案 0 :(得分:3)
您可以在OnClickListener
上分配给任何视图,而不仅仅是按钮。您不需要覆盖onTouchEvent()
。
或者,您可以使用常规按钮(或仅使用视图),只需将实心矩形作为背景可绘制。