啦啦爱在线观看免费视频6_花季传媒3.072_美女跪下吃男人j8免费视频_别揉我胸嗯啊

十三年專注于網站建設與互聯網應用開發,低調、有情懷的網絡應用服務商!
南昌百恒科技微信公眾號 掃一掃關注
tel-icon全國服務熱線:400-680-9298,0791-88117053
掃一掃關注百恒科技微信公眾號

安卓開發之觸摸事件處理方法

百恒網絡 2018-09-12 15:30:23 2904
? ? ? ?Android 觸摸事件的一種方式是使用以下View方法,設置一個觸摸事件供聽器:
? ? ? ?public void setOnTouchListener(View.OnTouchListener l)
? ? ? ?該方法的工作方式與setOnClickListener(View.OnClickListener)相同。我們實現View.OnTouchListener接口,供觸摸事件發生時調用。

? ? ? ?不過,我們的定制視圖是View的子類,因此可走捷徑直接覆蓋以下View方法:
? ? ? ?public boolean onTouchEvent(MotionEvent event)

? ? ? ?該方法接收一個MotionEvent類實例,MotionEvent類可用來描述包括位置和動作的觸摸事件。動作用于描述事件所處的階段。

安卓開發之觸摸事件處理方法


? ? ? ?在onTouchEvent(...)實現方法中,可使用以下MotionEvent方法查看動作值:
? ? ? ?public final int getAction()
? ? ? ?在BoxDrawingView.java中,添加一個日志tag,然后實現onTouchEvent(...)方法記錄可能發生的四個不同動作,如下代碼所示。

? ? ? ?實現BoxDrawingView視圖類(BoxDrawingView.java)
? ? ? ?public class BoxDrawingView extends View {
? ? ? ?private static final String TAG = "BoxDrawingView";
? ? ? ?...
? ? ? ?@Override
? ? ? ?public boolean onTouchEvent(MotionEvent event) {
? ? ? ?PointF current = new PointF(event.getX(), event.getY());
? ? ? ?String action = "";
? ? ? ?switch (event.getAction()) {
? ? ? ?case MotionEvent.ACTION_DOWN:
? ? ? ?action = "ACTION_DOWN";
? ? ? ?break;
? ? ? ?case MotionEvent.ACTION_MOVE:
? ? ? ?action = "ACTION_MOVE";
? ? ? ?break;
? ? ? ?case MotionEvent.ACTION_UP:
? ? ? ?action = "ACTION_UP";
? ? ? ?break;
? ? ? ?case MotionEvent.ACTION_CANCEL:
? ? ? ?action = "ACTION_CANCEL";
? ? ? ?break;
? ? ? ?}
? ? ? ?Log.i(TAG, action + " at x=" + current.x +
? ? ? ?", y=" + current.y);
? ? ? ?return true;
? ? ? ?}
? ? ? ?}?

? ? ? ?注意,X和Y坐標已經封裝到PointF對象中。稍后,我們需要同時傳遞這兩個坐標值。而Android提供的PointF容器類剛好滿足了這一需求。

? ? ? ?運行DragAndDraw應用并打開LogCat視圖窗口。觸摸屏幕并移動手指,查看BoxDrawingView接收的觸摸動作的X和Y坐標記錄。

? ? ? ?以上就是百恒網絡為大家介紹的關于觸摸事件的處理方法,希望能夠幫到大家!
400-680-9298,0791-88117053
掃一掃關注百恒網絡微信公眾號

歡迎您的光顧,我們將竭誠為您服務×

售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售后服務 售后服務
 
備案專線 備案專線
 
售后服務 售后服務
 
×