触摸模式(Touch mode )
当用户直接使用keys或trackball与UI进行交互的时候, 必须先使目标控件获取焦点(比如按钮),这样用户才会注意到是什么控件接收输入. 然而如果设备支持触摸手势的话, 用户可能使用触摸屏与UI进行交互, 这个时候就没有必要将目标控件高亮显示了(即,获取焦点). 因此就产生了这样一种交互模式叫"touch mode ."
对于一个拥有触摸屏功能的设备而言, 一旦用户用手点击屏幕, 设备立刻进入touch mode . 这时候被点击的控件只有isFocusableInTouchMode()方法返回true的时候才会
focusable , 比如EditText控件. 其他可以触摸的控件, 比如按钮, 当被点击的时候不会获取焦点; 它们只是简单地执行onClick事件而已.
任何时候只要用户点击key或滚动trackball, 设备就会退出touch mode ,并且找一个view将焦点置于其上. 此时用户可以不使用触摸手势了.
touch mode 在整个系统运行期间都是有效的(在任何activities中). 如果想要查询当前处于何种状态, 你可以调用View#isInTouchMode()来看看当前是否处于touch mode .
查询各种常用控件的默认初始状态
isClickable()
isLongClickable()
isFocusable()
isFocusableInTouchMode()
android .widget.TextView
Clickable : false
LongClickable : false
Focusable : false
FocusableInTouchMode : false
android .widget.Button
Clickable : true
LongClickable : false
Focusable : true
FocusableInTouchMode : false
android .widget.Chronometer
Clickable : false
LongClickable : false
Focusable : false
FocusableInTouchMode : false
android .widget.DigitalClock
Clickable : false
LongClickable : false
Focusable : false
FocusableInTouchMode : false
android .widget.EditText
Clickable : true
LongClickable : true
Focusable : true
FocusableInTouchMode : true
android .widget.AutoCompleteTextView
Clickable : true
LongClickable : true
Focusable : true
FocusableInTouchMode : true
android .widget.CheckBox
Clickable : true
LongClickable : false
Focusable : true
FocusableInTouchMode : false
android .inputmethodservice.ExtractEditText
Clickable : true
LongClickable : true
Focusable : true
FocusableInTouchMode : true
android .widget.MultiAutoCompleteTextVie
w
Clickable : true
LongClickable : true
Focusable : true
FocusableInTouchMode : true
android .widget.RadioButton
Clickable : true
LongClickable : false
Focusable : true
FocusableInTouchMode : false
android .widget.ToggleButton
Clickable : true
LongClickable : false
Focusable : true
FocusableInTouchMode : false
android .widget.AnalogClock
Clickable : false
LongClickable : false
Focusable : false
FocusableInTouchMode : false
android .widget.ImageView
Clickable : false
LongClickable : false
Focusable : false
FocusableInTouchMode : false
android .widget.ImageButton
Clickable : true
LongClickable : false
Focusable : true
FocusableInTouchMode : false
android .widget.ZoomButton
Clickable : false
LongClickable : true
Focusable : true
FocusableInTouchMode : false
android .widget.ProgressBar
Clickable : false
LongClickable : false
Focusable : false
FocusableInTouchMode : false
android .widget.SeekBar
Clickable : false
LongClickable : false
Focusable : true
FocusableInTouchMode : false
android .widget.RatingBar
Clickable : false
LongClickable : false
Focusable : true
FocusableInTouchMode : false
android .view.SurfaceView
Clickable : false
LongClickable : false
Focusable : false
FocusableInTouchMode : false
android .opengl.GLSurfaceView
Clickable : false
LongClickable : false
Focusable : false
FocusableInTouchMode : false
android .widget.VideoView
Clickable : false
LongClickable : false
android .view.ViewStub
Clickable : false
LongClickable : false
Focusable : false
FocusableInTouchMode : false
Layout只测试了LinearLayout,在这里主观臆断地认为其他Layout都和LinearLayout一样
android .widget.LinearLayout
Clickable : false
LongClickable : false
Focusable : false
FocusableInTouchMode : false
转:http://jakend.iteye.com/blog/764521
分享到:
相关推荐
功能:可以设置默认值,下拉选框自定义,显示框自定义 这是一个自定义控件使用非常简单,复制粘贴到项目可直接使用,可高度自定义
从JSON模式中的默认值生成JSON配置
此jar是修改了原作者的greenDAO generator项目的源码使其能支持defaultValue,以及产生的实体类entity支持原始数据. 具体可参考我的blog:http://blog.csdn.net/enyusmile/article/details/45498307
加载js 可以简单的实现默认值加载 /** * @作者 shiqingsong * @时间 2012-7-13 * @功能 实现功能是初始化时文本框中默认值,当鼠标移入则清空默认值;但如果用户没有输入任何值,则还原默认值;提交时候如果是...
易语言写注册表默认值源码,写注册表默认值,写注册默认值
易语言写注册表默认值.rar 易语言写注册表默认值.rar 易语言写注册表默认值.rar 易语言写注册表默认值.rar 易语言写注册表默认值.rar 易语言写注册表默认值.rar
hibernate实体映射文件字段设置默认值
易语言源码写注册表默认值.rar 易语言源码写注册表默认值.rar 易语言源码写注册表默认值.rar 易语言源码写注册表默认值.rar 易语言源码写注册表默认值.rar 易语言源码写注册表默认值.rar
介绍了各个浏览器的css默认值,为前台开发提供了一定的帮助!
SettingsProvider 修改默认值数据及更新数值SettingsProvider数据存储强制更新数据 SettingsProvider数据存储 frameworks\base\packages\SettingsProvider中android6.0之后用不在用settings.db这个数据了,会存储在/...
sqlserver中日期型字段设默认值默认值
修改labview的前面板的默认值
Realm数据库操作,增删改查操作,版本更新(数据迁移)。
mobiscroll 是不能默认选中时间的,但是在开发中往往需要选中默认时间,我发现 <input type="text" name="appDateTime" value="2018-08-08 8:08" id="appDateTime" /> 中 的 value 值可以将年份之后的时间默认选中, 而...
我们在用Vue做前端时,经常会用到iView的UI...官方文档都提供了源码,但未提供设置默认值的代码。所以就得我们自己开看控件说明自己编写实现。本文档就是说明怎么在使用iView 的DatePicker控件时自己设置想要的默认值。
文本框设置默认值和验证提交 文本框设置默认值和验证提交 文本框设置默认值和验证提交 文本框设置默认值和验证提交 文本框设置默认值和验证提交
针对input的默认值,html5有新加的placeholder属性, 但是该属性浏览器兼容性较差, 所以就自定义了diyplaceholder属性, 作为jquery插件,满足浏览器兼容.
可方便查看常用css默认值,便于兼容,大部分的标记都包括,完全可适合初学者使用哦
ImageView 图片显示样式的几种类型。android:scaleType是控制图片如何resized/moved来匹对ImageView的size。