android触摸模式默认值(转)_移动开发_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > 移动开发 > android触摸模式默认值(转)

android触摸模式默认值(转)

 2010/9/19 23:32:41  jakend  http://jakend.javaeye.com  我要评论(0)
  • 摘要:触摸模式(Touchmode)当用户直接使用keys或trackball与UI进行交互的时候,必须先使目标控件获取焦点(比如按钮),这样用户才会注意到是什么控件接收输入.然而如果设备支持触摸手势的话,用户可能使用触摸屏与UI进行交互,这个时候就没有必要将目标控件高亮显示了(即,获取焦点).因此就产生了这样一种交互模式叫"touchmode."对于一个拥有触摸屏功能的设备而言,一旦用户用手点击屏幕,设备立刻进入touchmode.这时候被点击的控件只有isFocusableInTouchMode
  • 标签:android触摸模式默认值

触摸模式(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
发表评论
用户名: 匿名