【发布时间】:2014-08-20 22:15:29
【问题描述】:
我遇到了以下问题,需要您的帮助来解决它。任何指导将不胜感激。
场景:我在表面视图之上有一个覆盖视图,这个覆盖视图有几个图像和一个按钮。我已在此活动的清单文件中将“方向”标志设置为“横向”,并编写了一个方向侦听器来识别横向左侧和横向右侧方向。
问题:当我打开辅助功能模式并将内容描述正确设置为小部件时,在初始模式(无论是横向还是横向)下,当我按下任何图像时,我都能正确听到辅助功能对讲。当我将设备方向从左向右旋转时会出现问题,反之亦然,即使覆盖视图旋转正确,辅助功能控件也不会旋转。当我在“辅助功能”仍然打开的情况下以新方向触摸图标时,我没有听到 TalkBalk 文本。当我触摸叠加层上以最后方向模式绘制的图像位置时,我会听到对讲文本。
显示/视图上的辅助功能区域似乎已锁定,并且在从左到右旋转屏幕方向时不会随着覆盖视图的旋转而旋转。
知道为什么会发生这种情况以及纠正它的方法吗?是唯一打开销毁活动并再次创建它的吗?我不能破坏表面视图,因为它会影响用户体验。如何旋转与图像相关联的无障碍 TalkBack 文本以及屏幕旋转?
在这个问题上花了几天时间。通过旋转它尝试了视图旋转,但这不是问题,因为视图已经在旋转。请帮忙。
非常感谢您提前提供的帮助。
【问题讨论】:
-
你们是如何实施轮换的?另外,您正在测试哪个版本的 Android?
-
我已经使用传感器管理器注册了一个 OrientationEventListener 并且每次方向回调发生变化时都会被调用。然后我检查正确的角度并只处理左右方向 int tempOrientation = (10
-
您如何对叠加层应用旋转? View.setRotation() 还是别的什么?
-
我通过调用 setRotation() 方法和再次创建覆盖视图进行了尝试。在这两种情况下,所有 UI 小部件都正确旋转,但 Talkback 区域以某种方式锁定到第一次创建视图的显示区域。
标签: android accessibility surfaceview talkback