Android的Touch Mode
来源:互联网 发布:linux 通过代理上网 编辑:程序博客网 时间:2024/05/22 06:08
大多数Android设备都是触摸屏的,但是实际上Android设备也支持键盘操作,允许通过键盘来完成导航,点击,输入等。
当用户通过键盘(或者轨迹球)操作的时候,有必要聚焦当前接受输入的UI元素,例如,高亮(聚焦)某个按钮,让用户知道当前正在操作的UI元素是哪个。
但是,当用户使用触摸屏与设备交互的时候,始终聚焦当前UI元素就没有必要了,而且很丑陋;用户点击哪个元素,哪个元素就是当前元素,无需高亮标识。并且,通过触摸屏与设备交互的时候,点击某个UI元素也不会导致该元素聚焦,此时的高亮效果是由Pressed状态来完成的。也就是说,在Touch Mode模式之下,UI元素是不会进入聚焦状态的,即使调用requestFocus也不会。
那个,Android是如何区分这两种情况的呢?
答案就是Touch Mode。当用户开始通过键盘与设备交互的时候,设备就退出Touch Mode模式;当用户开始通过触摸屏与设备交互的时候,设备就进入Touch Mode模式。可以通过调用View的isInTouchMode来判断设备当前是否处于Touch Mode模式。
但是,也有例外情况。有些UI元素,即使是在Touch Mode的状态之下,也需要获得焦点,典型的就是Edittext。那么,这种情况该如何处理呢?
答案就是做特殊处理。Android规定,某些元素,即使是在Touch Mode模式下,也可以获得焦点。
当用户通过键盘(或者轨迹球)操作的时候,有必要聚焦当前接受输入的UI元素,例如,高亮(聚焦)某个按钮,让用户知道当前正在操作的UI元素是哪个。
但是,当用户使用触摸屏与设备交互的时候,始终聚焦当前UI元素就没有必要了,而且很丑陋;用户点击哪个元素,哪个元素就是当前元素,无需高亮标识。并且,通过触摸屏与设备交互的时候,点击某个UI元素也不会导致该元素聚焦,此时的高亮效果是由Pressed状态来完成的。也就是说,在Touch Mode模式之下,UI元素是不会进入聚焦状态的,即使调用requestFocus也不会。
那个,Android是如何区分这两种情况的呢?
答案就是Touch Mode。当用户开始通过键盘与设备交互的时候,设备就退出Touch Mode模式;当用户开始通过触摸屏与设备交互的时候,设备就进入Touch Mode模式。可以通过调用View的isInTouchMode来判断设备当前是否处于Touch Mode模式。
但是,也有例外情况。有些UI元素,即使是在Touch Mode的状态之下,也需要获得焦点,典型的就是Edittext。那么,这种情况该如何处理呢?
答案就是做特殊处理。Android规定,某些元素,即使是在Touch Mode模式下,也可以获得焦点。
0 0
- Android的Touch Mode
- Android的Touch Mode
- Android的Touch Mode
- Android的Touch Mode
- Android Touch Mode
- 说说Android中的touch mode
- 实习杂记(27):android的touch Mode
- touch mode
- Touch Mode
- Android touch mode和focusableInTouchMode分析
- Android touch mode和focusableInTouchMode分析
- Android touch mode和focusableInTouchMode分析
- Android touch mode和focusableInTouchMode分析
- Android Focusable in Touch Mode 介绍
- Android 触摸模式(Touch Mode)
- Touch Mode备忘录
- 触摸模式(Touch Mode)
- android的touch事件
- java中Json,Map,实体之间的转换
- 将数据模型(数组)转换为json字符串
- linux shell下除了某个文件外的其他文件全部删除的命令
- Retrofit官网翻译
- c++笔记(1)
- Android的Touch Mode
- 抽象类 和 接口
- [SCOI2005] 最大子矩阵
- Codeforces Round #357 (Div. 2) B. Economy Game
- Android 常用知识总结2
- elasticsearch-jdbc实现MySQL同步到ElasticSearch深入详解
- 292. Nim Game
- Android 热更新实现原理及代码分析
- Android中的View基础