【发布时间】:2018-04-25 18:23:21
【问题描述】:
我目前正在我的应用程序中添加可访问性作为一项新功能。 我的目标是用户将使用 Android 集成的 TalkBack 服务来导航它。
一切正常,因为我在我的活动布局内的元素上设置 内容描述,即
<View
style="@style/custom.style"
android:contentDescription="@string/my_string_value"/>
这样,每次显示我的活动时,TalkBack 都会读取内容描述值。
仅使用一个在其上推送多个片段的活动,我还没有取得同样的成功。因此,如果我尝试在片段布局内的任何元素上设置 content description ,则在检测到触摸事件之前不会(自动)读取它(我希望 TalkBack 会自动执行它,就像活动布局中的视图一样)
为了在片段类中得到我期望的结果:
public abstract class myFragment extends Fragment {
...
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
...
myCustomView = (LinearLayout) rootView.findViewById(R.id.duende);
myCustomView.requestFocus();
}
}
到目前为止,这还没有成功,将可访问性设置为内容更改。
getWindow().getDecorView().sendAccessibilityEvent(AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED);
有人遇到过类似的问题吗?
【问题讨论】:
标签: android talkback accessibility-api