所以基本上我的画布上绘制了一些图像视图,但是当我尝试设置onclick监听器并尝试处理事件时,它不起作用。在画布上绘制的视图上设置onClickListener
public class DrawView extends View implements OnClickListener{
Paint paint = new Paint();
RectF rf = new RectF(30, 30, 80, 80);
BallView ball = new BallView(getContext());
Bitmap bmp = BitmapFactory.decodeResource(getContext().getResources(), R.drawable.ic_launcher);
public DrawView(Context context) {
super(context);
}
@Override
public void onDraw(Canvas canvas) {
ball.setOnClickListener(this);
ball.draw(canvas);
canvas.drawBitmap(bmp, 110, 10, paint);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Toast.makeText(getContext(), "Mock", Toast.LENGTH_SHORT).show();
}
}
BallView.java
public class BallView extends ImageView {
Paint b = new Paint();
public BallView(Context context) {
super(context);
// TODO Auto-generated constructor stub
}
public void onDraw(Canvas c){
b.setColor(Color.BLUE);
c.drawCircle(50, 50, 40, b);
}
}
*它不工作* - 而到底发生了什么?什么是'BallView'?如果它扩展View,请在'DrawView'的构造函数中移动* ball *和* bmp *的初始化。 – Luksprog 2013-03-16 08:44:57
是否可点击?你有没有为它调用过setClickable(true)? – sandrstar 2013-03-16 08:48:02
@Luksprog按照你的说法做了,但没有工作 – 2013-03-16 08:51:21