Android 9引入了accessibilityHeading
标签,对讲机可以使用该标签来宣布标题。
https://developer.android.com/about/versions/pie/android-9.0#a11y
寻找Heading-based navigation
在我的应用中,我的活动中有多个带有标题的Textviews
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:accessibilityHeading="true"
android:text="Accessibility Heading 1"
android:textColor="#000000"
android:textSize="18sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="20dp"
android:text="Message"
android:textColor="#000000" />
但是当我运行该应用程序时,标题仅被视为普通的文本视图,Talkback
没有给予特殊处理。
我可以向左滑动以浏览所有元素。
可以向上滑动以更改对讲通知的模式。例如Default
,Links
,Controls
,Headings
等。
选择Headings
时,我希望对讲机仅宣布标题,并从一个标题跳到另一个标题,但是即使在Swipe Left
或Swipe Right
手势之后,对讲也会保持在同一位置。
答案 0 :(得分:1)
将 accessibilityHeading
和 focusableInTouchMode
都设置为 true
。然后,在将导航模式设置为 Headers
后(您可以通过 up down
手势执行此操作),滑动 up
或 down
会引导您浏览标题。滑动 right
和 left
仍可让您浏览单个项目。
答案 1 :(得分:0)
我刚刚尝试过,它在这里正常工作。 对讲正确将文本视图声明为标题,并且在标题模式下,我也可以导航至它们。 请确保您使用的是最新版本的对讲。 这是一个很老的问题,所以从那以后您可能已经找到了解决办法
答案 2 :(得分:0)
我遇到了同样的问题。
在我的特定情况下,当我在父视图中将focusable
和focusableInTouchMode
设置为false,在TextView中将其设置为true时,此问题已修复。