美文网首页
焦点设置 (一)

焦点设置 (一)

作者: fengfancky | 来源:发表于2017-11-28 11:13 被阅读508次

对焦点的处理是Android 电视开发与手机开发最大的区别之一。在手机上,关于焦点我们几乎不需要做额外的处理;而在电视机上则需要做大量的处理,如:焦点的显示样式(颜色、大小等)、焦点的导航、显示动画等。

focusable与focusableInTouchMode

在xml中对view设置属性:
android:focusable="true"
android:focusableInTouchMode="true"

动态设置:
View.setFocusable(true);
View.setFocusableInTouchMode(true)

上述属性focusable设置为true时当前控件才能获得焦点;反之,不能获得焦点。focusableInTouchMode用于设置是否可以通过触摸获取焦点。在手机应用开发中一般不需要对上述属性进行设置,电视应用很有必要,因为电视通常是通过遥控器来控制焦点的(也可以是鼠标)。

requestFocus

动态设置:
View.requestFocus();

xml中:
<requestFocus />

为控件设置焦点,通常会优先获取焦点(可能某些控件会抢夺焦点,如EditText)。打开页面时,通常会使用它来决定谁优先获得焦点。

descendantFocusability

当焦点获取出现问题是你可以尝试设置descendantFocusability属性 ,有以下三中值:
beforeDescendants:viewgroup会优先其子类控件而获取到焦点
afterDescendants:viewgroup只有当其子类控件不需要获取焦点时才获取焦点
blocksDescendants:viewgroup会覆盖子类控件而直接获得焦点

建议简化布局层级,层级过多会导致焦点处理变得复杂,也很难实现特殊的焦点选中效果。

相关文章

  • 焦点设置 (一)

    对焦点的处理是Android 电视开发与手机开发最大的区别之一。在手机上,关于焦点我们几乎不需要做额外的处理;而在...

  • element.focus();设置焦点

    HTMLElement.focus() 方法用于设置焦点,如果被指定的元素可以获取到焦点,焦点就会被设置到该元素上...

  • Dialog中EditText自动弹出键盘

    给editText设置获取焦点 给dialog设置style

  • Android TV 开发总结概览

    焦点设置(一)焦点选中状态(二)焦点导航(三)事件(四)AndroidTVWidget框架之运动焦点框(五)And...

  • React 17 基础2

    在 React 中设置焦点 有时,父组件需要把焦点设置在其子组件的一个元素上。我们可以通过在子组件上设置一个特殊的...

  • popwindow 无法输入的问题

    popwindow 有时候会遇到editText无法输入,无法获取焦点的问题。设置获取焦点 如果设置后还不行,换个...

  • 伪类

    设置获取焦点的样式:focus{}设置placeholder::-webkit-input-placeholder{}

  • edittext焦点设置

    android:focusable="true" android:focusableInTouchMode="tr...

  • tv3.0调试整理

    1.在使用tv.js(封装的焦点移动)时,要给焦点元素设置尺寸,不然在移动的时候会找不到距离最近的焦点; 2.设置...

  • 对焦-AVCaptureDevice (AVCaptureDev

    是否允许调节焦点模式 对焦模式 是否允许设置自己感兴趣的焦点 设置自己感兴趣的对焦点 是否正在对焦 是否支持自动对...

网友评论

      本文标题:焦点设置 (一)

      本文链接:https://www.haomeiwen.com/subject/oymwvxtx.html