編輯:Android開發實例
一、onTouch
onTouch是View中OnTouchListener接口中的方法,處理View及其子類被touch是的事件處理。當然,前提是touch時間能夠傳遞到指定的view。Q1:為什麼會傳遞不到呢?
1: /**
2: * Interface definition for a callback to be invoked when a touch event is
3: * dispatched to this view. The callback will be invoked before the touch
4: * event is given to the view.
5: */
6: public interface OnTouchListener {
7: /**
8: * Called when a touch event is dispatched to a view. This allows listeners to
9: * get a chance to respond before the target view.
10: *
11: * @param v The view the touch event has been dispatched to.
12: * @param event The MotionEvent object containing full information about
13: * the event.
14: * @return True if the listener has consumed the event, false otherwise.
15: */
16: boolean onTouch(View v, MotionEvent event);
17: }
二、onTouchEvent
onTouchEvent同樣也是在view中定義的一個方法。處理傳遞到view 的手勢事件。手勢事件類型包括ACTION_DOWN,ACTION_MOVE,ACTION_UP,ACTION_CANCEL四種事件。
1: /**
2: * Implement this method to handle touch screen motion events.
3: *
4: * @param event The motion event.
5: * @return True if the event was handled, false otherwise.
6: */
7: public boolean onTouchEvent(MotionEvent event) {
8: ……
9: ……
10: }
一旦onTouchEvent方法被調用,並返回true則這個手勢事件就結束了,並不會向下傳遞到子控件。Q2:onTouchEvent什麼時候被調用呢?
三、onInterceptTouchEvent
onInterceptTouchEvent是在ViewGroup裡面定義的。Android中的layout布局類一般都是繼承此類的。onInterceptTouchEvent是用於攔截手勢事件的,每個手勢事件都會先調用onInterceptTouchEvent。
1: public boolean onInterceptTouchEvent(MotionEvent ev) {
2: return false;
3: }
此方法返回false,則手勢事件會向子控件傳遞;返回true,則調用onTouchEvent方法。
在5.2.1節和5.2.2節介紹了<a>標簽以及TextView自動識別的特殊文本(網址、電話號、Email等),這些都可以通過單擊來觸發不同的動作。
在java中可有兩種方式實現多線程,一種是繼承Thread類,一種是實現Runnable接口;Thread類是在java.lang包中定義的。一個類只要繼承了Th
這篇文章主要為大家詳細介紹了Android系統模擬位置的使用方法,具有參考價值,感興趣的小伙伴們可以參考一下 本文為大家分享了Andro
在手機衛士之前的版本升級的對話框中: 有的用戶暫時不想更新,沒有點擊“稍後再說”,而是選擇點擊回退按鍵,那麼這時候的邏輯應