适用于可访问性视力障碍的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