当前位置: 首页 > news >正文

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

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

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

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

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

相关文章:

  • VirtualBox7.x下载安装CentOS7安装网络配置
  • AI盒子在智慧加油站的应用
  • 数据结构学习笔记
  • 代码随想录算法训练营第36期DAY45
  • 自然语言处理中的BERT模型深度剖析
  • 基于 Apache Doris 的实时/离线一体化架构,赋能中国联通 5G 全连接工厂解决方案
  • 31-ESP32-S3-WIFI篇-02 Event Group (事件标记组)
  • c语言是编程软件还是编程语言?深入解析C语言的本质与定位
  • 【C语言】基于C语言实现的贪吃蛇游戏
  • 【VSCode】快捷方式log去掉分号
  • 修改ModelLink在RTX3090完成预训练、微调、推理、评估以及TRT-LLM转换、推理、性能测试
  • el-date-picker的使用,及解决切换type时面板样式错乱问题
  • 1.8k Star!RAGApp:在任何企业中使用 Agentic RAG 的最简单方法!
  • ADB日常使用命令
  • 大国之间的互联网博弈:新时代的战略竞争
  • Essential Studio for ASP.NET Web Forms 2017 v2,新增自定义树形网格工具栏
  • js写一个简单的选项卡
  • rc-form之最单纯情况
  • Vue2.0 实现互斥
  • webpack+react项目初体验——记录我的webpack环境配置
  • 开源地图数据可视化库——mapnik
  • 前端代码风格自动化系列(二)之Commitlint
  • 如何学习JavaEE,项目又该如何做?
  • 树莓派 - 使用须知
  • 王永庆:技术创新改变教育未来
  • 为什么要用IPython/Jupyter?
  • 小程序01:wepy框架整合iview webapp UI
  • 在Docker Swarm上部署Apache Storm:第1部分
  • 这几个编码小技巧将令你 PHP 代码更加简洁
  • 终端用户监控:真实用户监控还是模拟监控?
  • 走向全栈之MongoDB的使用
  • Oracle Portal 11g Diagnostics using Remote Diagnostic Agent (RDA) [ID 1059805.
  • “十年磨一剑”--有赞的HBase平台实践和应用之路 ...
  • 没有任何编程基础可以直接学习python语言吗?学会后能够做什么? ...
  • ​LeetCode解法汇总2583. 二叉树中的第 K 大层和
  • # include “ “ 和 # include < >两者的区别
  • ###C语言程序设计-----C语言学习(3)#
  • $L^p$ 调和函数恒为零
  • (6)添加vue-cookie
  • (C11) 泛型表达式
  • (Qt) 默认QtWidget应用包含什么?
  • (Redis使用系列) Springboot 整合Redisson 实现分布式锁 七
  • (超简单)使用vuepress搭建自己的博客并部署到github pages上
  • (定时器/计数器)中断系统(详解与使用)
  • (佳作)两轮平衡小车(原理图、PCB、程序源码、BOM等)
  • (简单) HDU 2612 Find a way,BFS。
  • (图文详解)小程序AppID申请以及在Hbuilderx中运行
  • (转)Linux NTP配置详解 (Network Time Protocol)
  • ./configure、make、make install 命令
  • .gitignore
  • .NET Core 版本不支持的问题
  • .net 写了一个支持重试、熔断和超时策略的 HttpClient 实例池
  • .NET 中让 Task 支持带超时的异步等待
  • .NET/C# 使用 SpanT 为字符串处理提升性能
  • /etc/apt/sources.list 和 /etc/apt/sources.list.d