一、
dispatchtouchevent()、onintercepttouchevent()和ontouchevent()
dispatchtouchevent
是處理觸控事件分發,事件(多數情況)是從activity的dispatchtouchevent開始的
。執行super.dispatchtouchevent(ev),事件向下分發。
onintercepttouchevent是viewgroup提供的方法,預設返回false,返回true表示攔截。
ontouchevent是view中提供的方法,viewgroup也有這個方法,view中不提供onintercepttouchevent。view中預設返回true,表示消費了這個事件。
觸控事件從activiy開始 由onintercepttouchevent來判斷是都在此終結觸控事件
二、motionevent ev
單手指操作:action_down---action_move----action_up---action_outside
ev.getaction() 獲取觸控的型別
ev.getx() ev.gety() 觸控在螢幕上的位置 相對於自身的位置座標 就是從action_down開始的操作
ev.getrawx() ev.getrawy() 觸控在螢幕上的位置 相對於螢幕的位置座標
getx()是表示view相對於自身左上角的x座標,而getrawx()是表示相對於螢幕左上角的x座標值(注意:這個螢幕左上角是手機螢幕左上角,不管activity是否有titlebar或是否全螢幕)
Android自定義長按事件
android系統自帶了長按事件,setonlongclicklistener即可監聽。但是有時候,你不希望用系統的長按事件,比如當希望長按的時間更長一點的時候。這時候就需要自己來定義這個長按事件了。packagechroya.fun importandroid.content.context im...
android 自定義廣播事件
上一節的簡訊攔截在4.0 以上系統中無效,可以使用這種辦法實現,定義乙個 activity 清單檔案中指定主題為透明,在 oncreate 方法裡面直接呼叫 finsh 方法,關掉,這樣可以就可以實現了 應用場景 比如車載電腦,裡面有很多應用,有些應用需要發射訊號給某乙個廣播接收者 新建乙個廣播接收...
在Python tkinter中自定義事件
在手機和計算機上,都有乙個鬧鐘和時鐘程式,包括秒錶 計時器 鬧鐘和時鐘4個功能。它們每1秒都要改變顯示的時間。可在另一線程建立秒計時器,每隔1秒發乙個事件,使秒錶 計時器 鬧鐘和時鐘改變時間。如用python tkinter編寫這個程式,必須自定義事件,並把自定義事件繫結到自定義事件函式,這裡介紹實...