有没有办法在表示PreferenceFragment或PreferenceActivity中的首选项的视图中添加内容描述?
基本上我需要一种方法来获取代表首选项的View的句柄。这将允许我在视图上setContentDescription(...)。
令人惊讶的是,这不是作为首选xml文件中的xml属性直接公开的,因为这是一个可访问性功能,它似乎应该是可以代理/生成UI元素的所有位置。
答案 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");
}