android - 辅助功能(TalkBack):如何在加载完整片段后自动聚焦特定视图?
问题描述
- 当我单击某个选项时,当对讲功能打开时,视图的选择在下一个片段中也保持不变。
- 应该删除第一个片段中的选择或焦点视图,或者应该关注下一个片段中的另一个视图。
目前我正在使用以下代码:
await Task.Delay(TimeSpan.FromSeconds(1)); view.SendAccessibilityEvent(Android.Views.Accessibility.EventTypes.ViewFocused);
但这是一个好习惯吗,因为我在系统中添加了延迟。
解决方案
如果您的片段/活动有单独的视图,您可以使用它:
<view_id>.requestFocus()
<view_id>.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED)
如果你有 RecyclerView 并且你想专注于最上面的项目:
<recyclerView_id>.post {
val child = this.getChildAt(0)
child?.let {
it.requestFocus()
it.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED)
}
}
推荐阅读
- excel - Win32 Excel:将图像调整为保持纵横比的单元格
- ruby-on-rails - 获取所有活动记录 WHERE 参数数组包含特定值
- javascript - 如何一次运行 2 个 Firebase 云功能
- c - c中结构内结构的含义
- c# - 急切加载和显式加载的区别
- jquery - 从没有 Razor 的模型属性创建 jQuery 列表
- macos - 不使用 sudo 就无法挂载卷
- php - 在 Laravel 控制器中对产品数据进行排序后,如何重新加载视图?
- kubernetes - 如何配置 solace helm chart 以在 kubeadm 集群上使用
- ios - 设置图像后 UIImageView 调整为奇怪的尺寸