使位图听取触摸事件

时间:2010-06-25 17:39:00

标签: android bitmap touch

如何为简单的位图添加触控功能?

我试图为位图创建一个包装类,
实施 OnGestureListener
但它不起作用。

我想避免扩展View类来实现这一目标。

谢谢!

2 个答案:

答案 0 :(得分:1)

Bitmap本身只是图像的一种表现形式......因此,为了展示它,你必须在某个地方绘制它(View,实际上你总是把它画出来一个View)。然后,由于所有用户界面小部件都扩展了它,因此无法避免使用View类。

总之,如果您只想将触摸侦听器设置为单个Bitmap,您可以在ImageView上绘制它并设置适当的侦听器。另一方面,如果您在某处绘制了一组位图(例如,在SurfaceView上),您应该按位置找到位图(在这种情况下,View会接收到位图事件将是SurfaceView)。

答案 1 :(得分:1)

您是否已将OnGestureListener实现连接到GestureDetector? GestureDetector分析一个MotionEvent,并根据它找到的移动类型在侦听器上调用适当的回调。

public class MyActivity extends Activity {
    private GestureDetector detector;

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        ...
        detector = new GestureDetector(new MyGestureListener());
        ...
    }

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        return detector.onTouchEvent(event);
    }
}