色综合天天_bl高肉强受失禁尿出来v文_日处女视频_在线观看国产剧情麻豆精品

十三年專注于網(wǎng)站建設(shè)與互聯(lián)網(wǎng)應(yīng)用開(kāi)發(fā),低調(diào)、有情懷的網(wǎng)絡(luò)應(yīng)用服務(wù)商!
南昌百恒科技微信公眾號(hào) 掃一掃關(guān)注
tel-icon全國(guó)服務(wù)熱線:400-680-9298,0791-88117053
掃一掃關(guān)注百恒科技微信公眾號(hào)

安卓開(kāi)發(fā)之觸摸事件處理方法

百恒網(wǎng)絡(luò) 2018-09-12 15:30:23 2906
? ? ? ?Android 觸摸事件的一種方式是使用以下View方法,設(shè)置一個(gè)觸摸事件供聽(tīng)器:
? ? ? ?public void setOnTouchListener(View.OnTouchListener l)
? ? ? ?該方法的工作方式與setOnClickListener(View.OnClickListener)相同。我們實(shí)現(xiàn)View.OnTouchListener接口,供觸摸事件發(fā)生時(shí)調(diào)用。

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

? ? ? ?該方法接收一個(gè)MotionEvent類實(shí)例,MotionEvent類可用來(lái)描述包括位置和動(dòng)作的觸摸事件。動(dòng)作用于描述事件所處的階段。

安卓開(kāi)發(fā)之觸摸事件處理方法


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

? ? ? ?實(shí)現(xiàn)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坐標(biāo)已經(jīng)封裝到PointF對(duì)象中。稍后,我們需要同時(shí)傳遞這兩個(gè)坐標(biāo)值。而Android提供的PointF容器類剛好滿足了這一需求。

? ? ? ?運(yùn)行DragAndDraw應(yīng)用并打開(kāi)LogCat視圖窗口。觸摸屏幕并移動(dòng)手指,查看BoxDrawingView接收的觸摸動(dòng)作的X和Y坐標(biāo)記錄。

? ? ? ?以上就是百恒網(wǎng)絡(luò)為大家介紹的關(guān)于觸摸事件的處理方法,希望能夠幫到大家!
400-680-9298,0791-88117053
掃一掃關(guān)注百恒網(wǎng)絡(luò)微信公眾號(hào)

歡迎您的光顧,我們將竭誠(chéng)為您服務(wù)×

售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售后服務(wù) 售后服務(wù)
 
備案專線 備案專線
 
售后服務(wù) 售后服務(wù)
 
×