如何在Android首选项视图上设置内容描述

时间:2014-10-09 00:01:39

标签: android sharedpreferences accessibility android-preferences preferenceactivity

有没有办法在表示PreferenceFragment或PreferenceActivity中的首选项的视图中添加内容描述?

基本上我需要一种方法来获取代表首选项的View的句柄。这将允许我在视图上setContentDescription(...)。

令人惊讶的是,这不是作为首选xml文件中的xml属性直接公开的,因为这是一个可访问性功能,它似乎应该是可以代理/生成UI元素的所有位置。

1 个答案:

答案 0 :(得分:0)

从首选项中获取视图是显而易见的方法,因为可以在任何视图上调用 setContentDescription()。现在,如何获取 View 没有很好的文档记录,但它相当简单。在您的 Preference Fragment 类中,执行以下操作:

public class SettingsFragment extends PreferenceFragment {
    
    ...
    private Preference toGetViewFrom;
    private ViewGroup parent;
    private View obtainedView;

    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        ...
        parent = container;
        obtainedView = toGetViewFrom.getView(null, parent);
        //Now do whatever you want with your view. In your case,
        obtainedView.setContentDescription("Content Description");
    }