android---View---Event

一、什么是事件
在安卓中,事件会设计到的对象有三个:Activity ViewGroup View
与事件相关的三个方法:dispatchaTouchEvent(MotionEvent ev)
onInterceptTouchEvent(MotionEvent ev)
ontouchEvent(MotionEvent ev)
其中ViewGroup这三个方法都有;
而activity、view(没有子控件)只有dispatchaTouchEvent(MotionEvent ev)、
ontouchEvent(MotionEventev)这两个方法。

二、Android中有哪些事件

  1. Android控件中事件,有一些事件是所有的控件有(View类内部),还有的一些是各种控件所特有的
    1.1) 对于的Activity、view 、VewGroup 都有与用户交互的事件,比如所有的控件都有 、OnClickListener 、OnLongClickListener 、OnTouchListener (补充)
    1.2) 对于的一些的特定的控件有一些特定的事件监听:
    ①EditText(编辑框)的事件监听---OnKeyListener
    ②RadioGroup、RadioButton(单选按钮)的事件监听---OnCheckedChangeListener
    ③CheckBox(多选按钮)的事件监听---OnCheckedChangeListener
    ④Spinner(下拉列表)的事件监听---OnItemSelectedListener
    ⑤Menu(菜单)的事件处理---onMenuItemSelected
    ⑥Dialog(对话框)的事件监听---DialogInterface.OnClickListener()
    SeekBar------OnSeekBarChangListener{onProgressChanged,onStartTrackingTouch, onStopTrackingTouch}
    ViewPager------
    ProgressBar------

后续补充

  1. 对于手机上的按键的监听
    Android手机常用的三个键,home键,back键及menu键。
    在应用程序里我们经常会对它们经常进行一定的处理,方便用户使用。首先我们要明确点击三个键时系统干了什么事,如果没有进行监听处理,
    点击home键时,系统默认只执行应用程序的当前显示的Activity的onStop()方法后跳出界面。
    而点击back键时,系统默认执行的是应用程序当前Activity的finish()方法后跳出界面。
    而点击menu键时,系统默认不进行任何处理。
    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;
    }
    }
    *注意:现在手机的对按键设计是的不一样的,所以以上代码并不健壮,还需要处理
    参考文章:
    http://blog.sina.com.cn/s/blog_b37dcd970101c9fq.html

三、android中的事件传递机制

参考文章
http://blog.csdn.net/carson_ho/article/details/54136311

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容