Android蓝牙手柄摇杆 十字按键监听手机focus焦点

本文介绍如何使用蓝牙手柄的摇杆和十字按键控制Android手机焦点,实现增减操作,并解决Android 9.0上的焦点问题。通过监听KeyEvent,结合焦点监听设置反馈背景,确保操作流畅无误。在Android 9.0上,通过调整和属性解决焦点乱跑的bug。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


最近在做一个手柄蓝牙连接手机,通过手柄控制手机的焦点需求,这里简单总结记录下。

先分析一下需求:

通过手柄摇杆或者十字按键控制手机的焦点,控制一个左侧箭头是减按钮,中间是显示数量的TextView文本,右侧箭头是增加按钮,当向左摇动摇杆或者按十字按键的左按键进行减少操作,当向右摇杆或者按十字按键的右按键进行增加操作。
最后,当选中某一列的时候,底部要给一个选中的反馈效果。
demo地址:https://github.com/jakezhang1990/BluetoothHandleDemo
看一效果图:
在这里插入图片描述
也就是说期望的效果是:
按十字按键的左按键或者左摇杆,数字减少;
按十字按键的右按键或者右摇杆,增加;
按十字按键的向下十字按键或者向下摇杆到最后一个条目,吐司提示,是最后一个条目了,焦点停留在这里。

首先,手柄设备蓝牙连接到手机,这没什么说的,直接按照手柄的说明书进行连接即可。

其次,就是拦截,在onKeyDown方法中进行拦截。

KeyEvent.KEYCODE_DPAD_LEFT 左摇杆或者十字按键左按键按下事件。
KeyEvent.KEYCODE_DPAD

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值