有没有办法将内容描述添加到表示 PreferenceFragment 或 PreferenceActivity 中的首选项的 View 中?
基本上我需要一种方法来获取代表偏好的 View 的句柄。这将允许我在 View 上设置内容描述(...)。
令人惊讶的是,这并没有直接作为首选项 xml 文件中的 xml 属性公开,因为这是一个可访问性功能,它似乎应该在任何可以代理/生成 UI 元素的地方出现。
最佳答案
从首选项中获取 View 是显而易见的方法,因为 setContentDescription()
可以在任何 View 上调用。现在,如何获取 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");
}
关于android - 如何在 Android 首选项 View 上设置内容描述,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26268298/