Android 按上/下键,焦点会移动到第一个控件上面或最后一个控件下面的解决办法

Android开发过程中,在页面中按上或者下键,有时候会出现焦点移动到第一个控件上面或者最后一个控件下面,即焦点会移出当前View,这时就需要对第一个控件或最后一个控件做限制。

以第一个控件(该控件设置了android:focusable="true"属性)为例,可以在 Activity 等可以监听按键事件的类中,做拦截限制,例如:

java 复制代码
    
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_DPAD_UP) {
            // 获取当前焦点所在的View
            View focusView = getCurrentFocus();
            if (focusView != null || focusView.getId() == R.id.ll_bluetooth_name)) {
                // 选中页面第一项后不允许再向上移动
                return true;
            }
        }
        return super.onKeyDown(keyCode, event);
    }

而最后一个控件按下键的拦截限制同理。

相关推荐
seabirdssss11 分钟前
Appium 在小米平板上的安装受限与闪退排查
android·appium·电脑
喂_balabala17 分钟前
Kotlin-属性委托
android·开发语言·kotlin
空中海25 分钟前
第一章:Android 系统架构与核心原理
android·系统架构
lI-_-Il1 小时前
适配工具箱:手机里的全能数字瑞士军刀
android·音视频
彳亍走的猪1 小时前
Android 全局防抖/防重复点击
android·java·开发语言
程序员陆业聪1 小时前
Android图片加载框架深度对比:Coil 3.4.0 vs Glide 5.0,该选哪个?
android
seabirdssss1 小时前
Android 模拟器搭建
android·经验分享
CYRUS STUDIO1 小时前
Frida 源码编译全流程:自己动手编译 frida-server
android·安全·逆向
程序员陆业聪2 小时前
Android内存优化:当LeakCanary遇上协程,内存泄漏治理进入新阶段
android
黄林晴2 小时前
解放双手!Android 发布官方 6 大技能,一键搞定迁移、优化、适配
android