2011-09-16 57 views
2

我在圖像的標題下面有一個圖像和一個TextView。當我觸摸文字我想改變圖像的狀態選擇。我捕捉觸摸和觸摸事件,將圖像的狀態分別改變爲選中狀態和未選中狀態。在Android中查看是否有觸摸在視圖中

我想要實現觸摸取消,即如果我觸摸TextView內部並將其拖到外面並取出手指,應將圖像狀態設置爲未選中狀態。我怎麼知道觸摸是否在視圖內?

我的應用程序的目標水平爲7

回答

2

回答我的問題上。我通過將圖像視圖和文本視圖放在視圖中解決了這個問題。並將圖像視圖的屬性duplicateParentState設置爲true。

2

您可以通過標誌變量就像當你失望標誌做,如果你拖動手指,然後關閉該標誌像智者這裏

boolean isDown = false; 
public boolean onTouchEvent(MotionEvent event, final MapView mapView) { 
    final int action=event.getAction(); 
    final int x=(int)event.getX(); 
    final int y=(int)event.getY(); 

    if (action==MotionEvent.ACTION_DOWN) { 
     isDown = true; 
    }else if(acttion == Motion.ACTION_MOVE){ 
     isDown = false; 
    }else if(action === MotionEvent.ACTION_UP){ 
     if(isDown){ 
      // do something here 
     } 
    } 
    return (isDown | super.onTouchEvent(event, mapView)); 
} 
+0

謝謝。我的問題是我怎麼知道我Motion.Action_Move已經移出視圖或仍然在視圖內。如果它的手指仍然在視圖中,然後用戶觸摸起來,我不想取消觸摸 – user866821

+0

@ user866821我相信這裏有一個「MotionEvent.ACTION_OUTSIDE」。 –