2010-06-25 86 views
0

如何將觸摸功能添加到簡單的位圖使位圖監聽觸摸事件

我試圖創建一個包裝類爲
其實現OnGestureListener
但沒有奏效。

我想避免擴展View類來實現這一點。

謝謝!

回答

1

A Bitmap本身只是一個圖像的表示...因此,爲了顯示它,你將不得不把它畫在某個地方(實際上你總是在View上畫一個View)。然後,由於所有用戶界面小部件都對其進行擴展,因此無法避免使用View類。

總之,如果您想簡單地將觸摸監聽器設置爲單個Bitmap,則可以將其繪製在ImageView上並設置適當的監聽器。另一方面,如果您在某處繪製了一組位圖(例如,在SurfaceView上),則應該通過座標定位位圖(在這種情況下,將接收事件的View將爲SurfaceView)。

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); 
    } 
}