获取启用/禁用状态和辅助功能颜色反转模式



在我的应用程序中,当用户启用辅助功能颜色反转模式时,我需要进行一些 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;
}

颜色反转不会改变颜色之间的对比度,因此,如果您以灰色背景上的白色文本开始,并且您声称深灰色上的倒黑很难看到,那么对于某些用户来说,看到原始文本同样困难。

也许原始文本颜色应该是黑色的? 最终,根据 WCAG 对比度标准 1.4.3,您的最小比率应为 4.5:1。 请参阅UX Stack Exchange上的这篇文章,了解如何使用黑色与白色文本进行计算。

最新更新