`
hellsing42
  • 浏览: 261643 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

android touch mode

阅读更多

触摸模式(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
分享到:
评论
1 楼 joe_zhpf 2011-01-07  
thanks 终于理解了..

相关推荐

    4EXT Recovery Touch v1.0.0.5 RC 7 10.27

    在Android社区中,Recovery Mode是一种特殊的系统模式,允许用户执行高级操作,如备份、恢复、安装更新或刷机。 【描述】"4EXT Recovery Touch v1.0.0.5 RC 7 10.27" 的描述很简洁,没有提供具体的细节。但通常,这...

    android-25

    3. **App Shortcuts**:类似于iOS的3D Touch,允许用户在主屏幕上长按应用图标来快速访问常用功能。开发者需要实现快捷方式接口,提供快捷方式的元数据。 4. **Daydream虚拟现实支持**:Android 7.1加入了对Day...

    android SlidingMenu 滑动菜单

    - **触摸模式**:支持全屏触摸(`TOUCHMODE_FULLSCREEN`)、边缘触摸(`TOUCHMODE_MARGIN`)和无触摸模式(`TOUCHMODE_NONE`)。 - **菜单内容**:菜单内容可以是任何`View`,包括`ListView`、`GridView`或其他...

    Android SlidingMenu demo

    slidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN); slidingMenu.setShadowWidthRes(R.dimen.shadow_width); slidingMenu.setShadowDrawable(R.drawable.shadow); slidingMenu.setBehindOffsetRes(R...

    Android左右侧滑第三方架包SlidingMenu.zip

    Android左右侧滑第三方架包SlidingMenu用于在项目中添加左右侧滑非常方便简洁,使用的方式也非常简单,架包的源码也一同包含在内,侧滑滑动区域也可以设置自定义的模式,如menu.setTouchModeAbove(SlidingMenu.TOUCH...

    android 侧拉菜单控件 SlideMenu

    menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN); menu.setShadowWidthRes(R.dimen.shadow_width); menu.setShadowDrawable(R.drawable.shadow); menu.setBehindOffsetRes(R.dimen.slidingmenu_...

    Android studio打开模拟器时

    在模拟器中,可以通过设置 MultiTouch.inputMode 属性来选择要模拟的模式,例如GESTURE、TOUCH_POINT 等等。 在 Android Studio 中,多点触控技术还可以用于模拟多点触控事件,例如缩放、旋转、平移等等。这些事件...

    Android终端命令

    9. **chmod(Change Mode)** - 更改文件或目录的权限:`chmod 755 filename`(给予所有者可读、可写、可执行权限,其他人只可读和执行)。 10. **su(Switch User)** - 切换至超级用户(root),获取更高权限:...

    android 侧边栏实现 slidingmenu

    menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN); menu.setBehindContentView(R.layout.menu_layout); setContentView(R.layout.main_layout); menu.attachToActivity(this, SlidingMenu.SLIDING_WINDOW)...

    Android 处理按键的响应方式

    在触摸屏设备上,通常只有在触控模式(Touch Mode)下,用户触摸一个 `View` 后,该 `View` 才会获取焦点并接收按键事件。 7. **Handling Soft Input Methods** 当软键盘弹出时,Android 系统会自动调整布局以适应...

    android slidingmenu代码

    - `setTouchModeAbove(int touchMode)`:设置触摸模式,如TOUCHMODE_FULLSCREEN、TOUCHMODE_MARGIN等。 - `setShadowDrawable(Drawable shadow)`:设置阴影图片,增加滑动时的视觉效果。 - `setShadowWidthRes(int ...

    Android代码-Android-Silencer

    Android Silencer Android Silencer is an Android application created in response ... With the touch of a button, vibrate mode is easily swapped to silent mode, and with another press, it is swapped back.

    Android代码-提示框

    Android Simple Tooltip ...Modal mode (prevents touch in the background) Overlay (darkens the background highlighting the anchor) Customizable arrow Inflatable content from a View or XML layout.

    Android SlidingMenu Demo

    - **Touch Mode**: 设置触摸模式,如`TOUCHMODE_MARGIN`(边缘触控)、`TOUCHMODE_FULLSCREEN`(全屏触控)等。 - **Shadow Drawable**: 为滑动效果添加阴影效果,可以自定义阴影图片。 - **Fade Degree**: 调整滑动...

    Android 双指拖动和双指缩放图片

    首先,我们要了解多点触控(Multi-Touch)的概念。Android系统提供了`MotionEvent`类来处理触摸事件,包括单指点击、滑动以及多指手势。对于双指拖动和缩放,我们需要监听`ACTION_POINTER_DOWN`和`ACTION_POINTER_UP...

    Android开发艺术探索

    1.2.1 Activity的Launch Mode / 16 1.2.2 Activity的Flags / 27 1.3 Intent Filter的匹配规则 / 28 第2章 IPC机制 / 35 2.1 Android IPC简介 / 35 2.2 Android中的多进程模式 / 36 2.2.1 开启多进程模式...

    android 左侧滑效果(仿唱吧部分界面)

    slidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN); slidingMenu.setShadowWidthRes(R.dimen.shadow_width); slidingMenu.setShadowDrawable(R.drawable.shadow); slidingMenu.setBehindOffsetRes(R...

Global site tag (gtag.js) - Google Analytics