Android 对鼠标事件的监听实现

简介: Android 对鼠标事件的监听实现

项目上要求对鼠标的点击事件进行监听,于是百度了一波,成功解决了问题,


实现方法,对要相应鼠标事件的控件设置   setOnGenericMotionListener  即可


我是在recyclerview 的adapter 的onbindviewholder里实现的


在鼠标左键按下的时候调用


如果想要早按键释放时调用,


改为event.getActionMasked() == MotionEvent.ACTION_BUTTON_RELEASE即可


viewHolder.itemView.setOnGenericMotionListener(new View.OnGenericMotionListener() {
            @Override
            public boolean onGenericMotion(View view, MotionEvent motionEvent) {
                //点击鼠标左键
                if(motionEvent.getActionButton() == MotionEvent.BUTTON_PRIMARY && motionEvent.getActionMasked() == MotionEvent.ACTION_BUTTON_PRESS){
                    viewHolder.itemView.requestFocus();//请求焦点
                    mItemListener.onItemSelected(i);//切换view 的内容
                }
                return true;
            }
        });

鼠标按键的值分别是:

switch (event.getActionButton()) {

                       case MotionEvent.BUTTON_PRIMARY:

                          Log.d("鼠标左键单击事件");

                           break;

                       case MotionEvent.BUTTON_SECONDARY:

                           Log.d("鼠标右键单击事件");

                           break;

                       case MotionEvent.BUTTON_TERTIARY:

                           Log.d("鼠标中键单击事件");

                           break;

                       case MotionEvent.BUTTON_FORWARD:

                           Log.d("鼠标前进键按下");


目录
相关文章
|
6月前
|
XML 监控 Android开发
Android Studio App开发入门之文本输入EditText的讲解及使用(附源码 包括编辑框、焦点变更监听器、文本变化监听器 )
Android Studio App开发入门之文本输入EditText的讲解及使用(附源码 包括编辑框、焦点变更监听器、文本变化监听器 )
278 0
|
4月前
|
监控 Android开发 开发者
Android经典面试题之实战经验分享:如何简单实现App的前后台监听判断
本文介绍在Android中判断应用前后台状态的两种方法:`ActivityLifecycleCallbacks`和`ProcessLifecycleOwner`。前者提供精细控制,适用于需针对每个Activity处理的场景;后者简化前后台检测,适用于多数应用。两者各有优劣:`ActivityLifecycleCallbacks`更精确但复杂度高;`ProcessLifecycleOwner`更简便但可能在极端场景下略有差异。根据应用需求选择合适方法。
37 2
|
4月前
|
API Android开发
Android 监听Notification 被清除实例代码
Android 监听Notification 被清除实例代码
|
5月前
|
Android开发
技术经验分享:Android前后台切换的监听
技术经验分享:Android前后台切换的监听
67 2
|
5月前
|
XML Android开发 数据格式
37. 【Android教程】基于监听的事件处理机制
37. 【Android教程】基于监听的事件处理机制
76 2
|
6月前
|
Android开发
Android监听USB设备插拔
Android监听USB设备插拔
843 7
|
6月前
|
Android开发
Android监听蓝牙广播
Android监听蓝牙广播
61 1
|
11月前
|
小程序 JavaScript 前端开发
微信小程序(十七)小程序监听返回键跳转事件(安卓返回也适用)
onUnload:function(){ wx.redirectTo({ url: '../index/index' }) wx.navigateTo({ url: '../index/index' }) wx.switchTab({ url: '../../member/member' }) }
929 0
|
6月前
|
Android开发
Android获取横竖屏状态及监听
Android获取横竖屏状态及监听
67 0
|
XML Android开发 数据格式
Android 基于监听的事件处理机制详解
Android 基于监听的事件处理机制详解
100 0