android 获取启用/禁用状态和可访问性颜色反转模式

ki0zmccv  于 2023-01-15  发布在  Android
关注(0)|答案(2)|浏览(156)

在我的应用程序中,我需要做一些用户界面的变化时,用户启用辅助功能颜色反转模式。
我们是否有任何API来检查启用/禁用状态的颜色反转模式在android?

oyxsuwqo

oyxsuwqo1#

下面的代码检查启用/禁用状态的可访问性反转模式。在某些手机反转模式将可作为“负颜色”。

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;

}
jjhzyzn0

jjhzyzn02#

颜色反转不会改变颜色之间的对比度,因此,如果您在灰色背景上开始使用白色文本,并且您声称在深灰色上反转的黑色很难看到,那么对于某些用户来说,看到原始文本也同样困难。
也许原来的文本颜色应该是黑色的?最终,按照WCAG criterion 1.4.3 on Contrast,你应该有一个最小的比例为4.5:1。

相关问题