android:importantForAccessibility="yes"
可以被 android:focusable="true"
替换,并且在 TalkBack 中可以完全相同地工作。什么时候应该使用 android:importantForAccessibility="yes"
而不是使用 focusable?
Android 将 android:importantForAccessibility
定义为:
描述此视图是否对辅助功能重要。如果重要,则视图会触发辅助功能事件,并报告给查询屏幕的辅助功能服务。注意:虽然不建议这样做,但辅助功能服务可能决定忽略此属性并操作视图树中的所有视图。https://developer.android.com/reference/android/view/View.html#attr_android:importantForAccessibility
而将 android:focusable="true"
定义为:
控制视图是否可以获得焦点。默认情况下,这是“auto”,允许框架确定用户是否可以将焦点移动到视图。通过将此属性设置为 true,允许视图获得焦点。将其设置为 "false" 时,视图将无法获得焦点。这个值不影响直接调用 requestFocus() 的行为,它将始终请求焦点,而不管此视图如何。它只影响焦点导航尝试移动焦点的位置。https://developer.android.com/reference/android/view/View.html#attr_android:focusable