【问题标题】:Unable to get focus on the action button in snackbar when the snackbar is shown with touch mode enabled在启用触摸模式的情况下显示小吃店时,无法将注意力集中在小吃店中的操作按钮上
【发布时间】:2016-12-26 08:55:05
【问题描述】:
当显示快餐栏时,我试图将焦点直接放在快餐栏中的操作按钮上,以便让用户知道可以使用快餐栏中显示的警报消息执行一些操作。注意:这是对讲模式。
我尝试过使用requestFocus() 和sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED);,但无论哪种方式,焦点似乎都停留在片段中。
我也面临与材料展示视图操作按钮类似的问题。
关于如何获得焦点的任何提示?
【问题讨论】:
标签:
android
material-design
accessibility
talkback
snackbar
【解决方案1】:
snackbar.getView().findViewById(com.google.android.material.R.id.snackbar_action).sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED);
记得在一定的延迟后调用它,以便可访问性附加到小吃栏小部件
【解决方案2】:
最后一步致电snackbar.getView().requestFocus();
这意味着它应该在您配置 SnackBar、设置操作以及调用 show() 之后出现(无论您执行这些操作的顺序如何)
如果它适用于 Android TV,获得焦点就像中了彩票,它应该适合你。