其他分享
首页 > 其他分享> > 适用于可访问性视力障碍的Android布局资源

适用于可访问性视力障碍的Android布局资源

作者:互联网

Android应用程序当前基于方向,屏幕大小,白天和黑夜等支持不同的布局资源.

但是,我想为有视觉障碍的用户提供布局,例如使用黄色背景和黑色文本的布局.

我是否错过了Android已经支持的功能?

我可以实现自定义res / layout-WAI或res / layout-DDA文件夹吗?

解决方法:

您无法创建自定义配置限定符.
当前支持的限定符列在here.

我将建议以下解决方法(示例):

>为每个现有布局创建WAI的特殊布局,并使用相同的名称,但后缀为“ _wai”

example_layout.xml
example_layout_wai.xml

>创建一种方法,以根据系统需求来解析适当的布局.假设我们有一个isWAI()方法,resolve方法将类似于:

public int resolveLayoutResourceID(int layoutResID) {
    int newLayoutResID = layoutResID;
    if (isWAI()) {
        String layoutResName = getResources().getResourceEntryName(layoutResID);
        String newLayoutResName = layoutResName + "_wai";
        newLayoutResID = getResources().getIdentifier(newLayoutResName, "layout", getPackageName());
    }
    return newLayoutResID;
}

>为所有类创建BaseActivity类(或使用实用程序静态函数),该类将覆盖setContentView方法.在那里,您将添加逻辑以选择布局.

@Override
public void setContentView(int layoutResID) {
    int newLayoutResID = resolveLayoutResourceID(layoutResID)
    super.setContentView(newLayoutResID);
}

标签:android-layout,wai,android-view,android-accessibility,android
来源: https://codeday.me/bug/20191111/2019684.html