在我的应用程序中,当用户启用辅助功能颜色反转模式时,我需要进行一些UI更改。
我们有没有API可以检查Android中颜色反转模式的启用/禁用状态?
在我的应用程序中,当用户启用辅助功能颜色反转模式时,我需要进行一些UI更改。
我们有没有API可以检查Android中颜色反转模式的启用/禁用状态?
public boolean isInversionModeEnabled() {
boolean isInversionEnabled = false;
int accessibilityEnabled = 0;
try {
accessibilityEnabled = Settings.Secure.getInt(this.getContentResolver(),
android.provider.Settings.Secure.ACCESSIBILITY_DISPLAY_INVERSION_ENABLED);
} catch (SettingNotFoundException e) {
Log.d(TAG, "Error finding setting ACCESSIBILITY_DISPLAY_INVERSION_ENABLED: " + e.getMessage());
Log.d(TAG, "Checking negative color enabled status");
final String SEM_HIGH_CONTRAST = "high_contrast";
accessibilityEnabled = Settings.System.getInt(getContentResolver(), SEM_HIGH_CONTRAST, 0);
}
if (accessibilityEnabled == 1) {
Log.d(TAG, "inversion or negative colour is enabled");
isInversionEnabled = true;
} else {
Log.d(TAG, "inversion or negative colour is disabled");
}
return isInversionEnabled;
}
high_contrast
会在哪些设备/辅助功能设置中返回 true? - Nino van Hooff颜色反转不会改变颜色之间的对比度,因此如果您最初在灰色背景上有白色文本,并且您声称黑色反转在深灰色上很难看到,那么对于某些用户来说,原始文本同样难以看到。
也许原始文本颜色应该是黑色?最终,根据WCAG标准1.4.3的对比度,您应该具有至少4.5:1的最小比率。请参见UX Stack Exchange上的帖子,了解如何使用黑色与白色文本进行计算。