Android 如何将侦听器添加到画布中的位图?(安卓)
我在其他问题中读到了如何获得位图的位置以及如何定义OnTouchEvent,如下所示,但由于位图对象不可能设置侦听器,我必须怎么做Android 如何将侦听器添加到画布中的位图?(安卓),android,canvas,bitmap,touch-event,Android,Canvas,Bitmap,Touch Event,我在其他问题中读到了如何获得位图的位置以及如何定义OnTouchEvent,如下所示,但由于位图对象不可能设置侦听器,我必须怎么做 public boolean onTouchEvent(MotionEvent event){ int action = event.getAction(); int x = event.getX() // or getRawX(); int y = event.getY(); switch(action){ case MotionEvent.ACTION_DO
public boolean onTouchEvent(MotionEvent event){
int action = event.getAction();
int x = event.getX() // or getRawX();
int y = event.getY();
switch(action){
case MotionEvent.ACTION_DOWN:
if (x >= xOfYourBitmap && x < (xOfYourBitmap + yourBitmap.getWidth())
&& y >= yOfYourBitmap && y < (yOfYourBitmap + yourBitmap.getHeight())) {
//tada, if this is true, you've started your click inside your bitmap
}
break;
}
}
public boolean onTouchEvent(运动事件){
int action=event.getAction();
int x=event.getX()//或getRawX();
int y=event.getY();
开关(动作){
case MotionEvent.ACTION\u DOWN:
如果(x>=xOfYourBitmap&&x<(xOfYourBitmap+yourBitmap.getWidth())
&&y>=yOfYourBitmap&&y<(yOfYourBitmap+yourBitmap.getHeight()){
//塔达,如果这是真的,你已经开始在位图中点击了
}
打破
}
}
您必须在视图中绘制位图(例如,普通视图
和绘制位图
作为背景或图像视图的源/图像
)。然后你可以将一个onTouchListener
附加到这个视图
,并在该侦听器中处理你的onTouchEvent
。…但是这样我就不能使用canvasI了,我不明白。你想用帆布做什么?在您的问题中,您只是想知道是否要单击正确的位置。我的类在画布上使用onDraw方法,我想在它绘制的位图上添加一个侦听器您的意思是覆盖视图的“公共布尔onTouchEvent(MotionEvent event)”和“protected void onDraw(canvas canvas)”方法?