• 触摸模式(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

  • 相关阅读:
    eclipse快捷键
    Struts2框架(8)---Struts2的输入校验
    Struts2框架(5)---result结果集
    Spring框架(6)---AspectJ实现AOP
    Spring框架(4)---AOP讲解铺垫
    Spring框架(3)---IOC装配Bean(注解方式)
    Spring框架(2)---IOC装配Bean(xml配置方式)
    Spring框架(1)---Spring入门
    Mybatis框架(5)---动态sql
    Mybatis框架(4)---输入输出映射
  • 原文地址:https://www.cnblogs.com/kobe8/p/2593379.html
Copyright © 2020-2023  润新知