【问题标题】:Making a Bitmap clickable using onTouchEvent - Android使用 onTouchEvent 制作可点击位图 - Android
【发布时间】:2016-01-14 17:49:48
【问题描述】:

我创建了一个 SurfaceView 并在其上放置了一个 onTouchEvent,MotionEvent 获取整个屏幕,如下所示:

@Override
 public boolean onTouchEvent (MotionEvent event) {

    if(event.getAction()==MotionEvent.ACTION_DOWN){
        if (!player.getPlaying()&& newGameCreated && reset) {
            player.setPlaying(true);
            player.fly(true);
            lives = 3;
        }
        if (player.getPlaying()) {
            if (!started) started = true;
            reset = false;
            player.fly(true);
        }
        return true;
    }
    if (event.getAction()==MotionEvent.ACTION_UP) {
        player.fly(false);
        return true;
    }

    // This is inside a class that extends SurfaceView

    return super.onTouchEvent(event);
}

如果条件为真,我需要检查位图上的触摸或不使用触摸的 x-y 位置并执行不同的操作,如何在此 onTouchEvent 方法上执行此操作?

【问题讨论】:

  • 您是否在 Bitmap 所在的 VIew 中添加了 Listener?

标签: java android bitmap surfaceview


【解决方案1】:

你需要知道位图的坐标,他的高度和宽度。如果你知道所有这些,你可以声明方法:

public boolean clickedOnBitmap(final int x, final int y) {
    return x > bitmap.x && x < bitmap.x + bitmap.width
            && y > bitmap.y && y< bitmap.y + bitmap.height;
}

【讨论】:

  • 好的,但是在 onTouchEvent 方法中,我必须使用 event.getY() 和 event.getX() 吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-10
  • 1970-01-01
  • 1970-01-01
  • 2016-04-07
相关资源
最近更新 更多