我基本上有这个:
<MyCustomLinearLayout>
<ImageView>
<TextView>
</MyCustomLinearLayout>
我想覆盖整个布局子结构的辅助功能文本;当LinearLayout或其任何一个孩子被调整时,我想完全控制TalkBack所说的内容(所以我可以说“3条评论”而不是“评论图标3”)。
我尝试过覆盖sendAccessibilityEventUnchecked
,dispatchPopulateAccessibilityEvent
,requestSendAccessibilityEvent
等的各种组合无济于事,我无法在任何地方找到这个相当简单设置的示例。
答案 0 :(得分:0)
在布局上使用View.setContentDescription()动态设置文字并阻止TalkBack阅读子视图的内容。
myText.setText(text);
. . .
myLayout.setContentDescription(imageDescription + " " + text);
由于您是动态设置描述,因此您可以在布局XML中将图像的内容描述设置为@null,以避免Lint错误。
<ImageView
. . .
android:contentDescription="@null" />
另请考虑在Making Android Apps Accessible上观看最近的Android开发人员办公时间视频,其中涵盖了这些主题等等。