zoukankan      html  css  js  c++  java
  • 触摸模式(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

  • 相关阅读:
    Spring AOP原理
    Spring Boot引入Oracle Jar
    Cookie
    资源验证
    HTTP各种特性
    高性能网络编程之IO和NIO阻塞分析
    Http协议基础及发展历史
    Http原理与实践
    设计模式-回顾
    http://jingyan.baidu.com/article/fcb5aff78e6a48edab4a7146.html
  • 原文地址:https://www.cnblogs.com/kobe8/p/2593379.html
Copyright © 2011-2022 走看看