一、什么是事件
在安卓中,事件會(huì)設(shè)計(jì)到的對(duì)象有三個(gè):Activity ViewGroup View
與事件相關(guān)的三個(gè)方法:dispatchaTouchEvent(MotionEvent ev)
onInterceptTouchEvent(MotionEvent ev)
ontouchEvent(MotionEvent ev)
其中ViewGroup這三個(gè)方法都有;
而activity、view(沒(méi)有子控件)只有dispatchaTouchEvent(MotionEvent ev)、
ontouchEvent(MotionEventev)這兩個(gè)方法。
二、Android中有哪些事件
- Android控件中事件,有一些事件是所有的控件有(View類內(nèi)部),還有的一些是各種控件所特有的
1.1) 對(duì)于的Activity、view 、VewGroup 都有與用戶交互的事件,比如所有的控件都有 、OnClickListener 、OnLongClickListener 、OnTouchListener (補(bǔ)充)
1.2) 對(duì)于的一些的特定的控件有一些特定的事件監(jiān)聽:
①EditText(編輯框)的事件監(jiān)聽---OnKeyListener
②RadioGroup、RadioButton(單選按鈕)的事件監(jiān)聽---OnCheckedChangeListener
③CheckBox(多選按鈕)的事件監(jiān)聽---OnCheckedChangeListener
④Spinner(下拉列表)的事件監(jiān)聽---OnItemSelectedListener
⑤Menu(菜單)的事件處理---onMenuItemSelected
⑥D(zhuǎn)ialog(對(duì)話框)的事件監(jiān)聽---DialogInterface.OnClickListener()
SeekBar------OnSeekBarChangListener{onProgressChanged,onStartTrackingTouch, onStopTrackingTouch}
ViewPager------
ProgressBar------
后續(xù)補(bǔ)充
- 對(duì)于手機(jī)上的按鍵的監(jiān)聽
Android手機(jī)常用的三個(gè)鍵,home鍵,back鍵及menu鍵。
在應(yīng)用程序里我們經(jīng)常會(huì)對(duì)它們經(jīng)常進(jìn)行一定的處理,方便用戶使用。首先我們要明確點(diǎn)擊三個(gè)鍵時(shí)系統(tǒng)干了什么事,如果沒(méi)有進(jìn)行監(jiān)聽處理,
點(diǎn)擊home鍵時(shí),系統(tǒng)默認(rèn)只執(zhí)行應(yīng)用程序的當(dāng)前顯示的Activity的onStop()方法后跳出界面。
而點(diǎn)擊back鍵時(shí),系統(tǒng)默認(rèn)執(zhí)行的是應(yīng)用程序當(dāng)前Activity的finish()方法后跳出界面。
而點(diǎn)擊menu鍵時(shí),系統(tǒng)默認(rèn)不進(jìn)行任何處理。
public boolean onKeyDown(int keyCode, KeyEvent event) {
switch(keyCode){
case KeyEvent.KEYCODE_BACK:
break;
case KeyEvent.keyCode==KeyEvent.KEYCODE_MENU:
break;
case keyCode==KeyEvent.KEYCODE_HOME:
break;
}
}
*注意:現(xiàn)在手機(jī)的對(duì)按鍵設(shè)計(jì)是的不一樣的,所以以上代碼并不健壯,還需要處理
參考文章:
http://blog.sina.com.cn/s/blog_b37dcd970101c9fq.html
三、android中的事件傳遞機(jī)制
參考文章
http://blog.csdn.net/carson_ho/article/details/54136311