android事件监听和事件处理机制

android应用框架为用户提供了时间处理机制来处理用户触发的动作,常见的事件包括键盘事件、输入事件、触屏事件等。下面详细介绍这写机制

事件监听器

1.View.OnClickListener 监听器
View.OnClickListener监听器是最经常使用的监听器之一,用于处理点击事件,OnClickListener是View类内部的接口,其接口的方法为onChick(View v),该方法只有一个参数,就是点击事件触发的控件对象本身。在使用过程中必须实现onChick方法,也就是把点击之后需要处理的逻辑代码放到此方法中。
实现方法1:

class MyListener implements View.OnClickListener{
        @Override
        public void onClick(View v) {
            Toast.makeText(MainActivity.this,"you have clicked Button2",Toast.LENGTH_SHORT).show();
        }
    }

实现方法2:

    private View.OnClickListener MyListener = new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Toast.makeText(MainActivity.this,"you have clicked Button2",Toast.LENGTH_SHORT).show();
        }
    };

2.View.OnFocusChangeListener监听器
监听器 View.OnFocusChangeListener用于处理选中的事件。比如界面中由若干个ui控件,当需要根据选中的不同的控件来处理不同的逻辑,就可以使用按钮控件对象的.View.OnFocusChangeListener方法来这值.View.OnFocusChangeListener监听对象,选中需要处理的逻辑会在监听对象的.View.OnFocusChange方法中实现。

void onFocusChange(View v,boolean hasFocus)

3.ViewOnKeyListener监听器
监听器ViewOnKeyListener是用于处理键盘的按键可以在该监听器的OnKey方法中处理用户点击不同按键时所需要的处理逻辑。

onKey
boolean onKey(View v,int keyCode,KeyEvent event)

4.View.OnTouchListener监听器
监听器View.OnTouchListener用于处理android系统的触屏事件,当位于View范围内的触摸按下、抬起或滑动等动作时都会触发触屏事件。此监听器必须实现的接口方法是onTouch(View v,MotionEvent event),这里要注意的是第二个参数,因为这个参数表示的是用户触发的动作事件,可以根据这个桉树的值来处理比较复杂的手势动作

实例一:

public GestureDetector
(Context context, GestureDetector.OnGestureListener listener)
private OnTouchListener gestureTouchListener = new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
  return gDetector.onTouchEvent(event);
}
};

实例二:

private GestureDetector mGestureDetector;
mGestureListener = new BookOnGestureListener();
构造出来mGestureDetector = new GestureDetector(mGestureListener);
class BookOnGestureListener implements OnGestureListener {
同时要public boolean onTouchEvent(MotionEvent event) {
  mGestureListener.onTouchEvent(event);
  }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值