调节对比度

要通过代码调整Android屏幕对比度,您可以使用以下方法:

  • 使用WindowManager.LayoutParams设置屏幕亮度和对比度:

    1
    2
    3
    4
    WindowManager.LayoutParams layoutParams = getWindow().getAttributes();
    layoutParams.screenBrightness = 1.0f; //设置屏幕亮度
    layoutParams.contrast = 1.5f; //设置对比度
    getWindow().setAttributes(layoutParams);
  • 通过Settings.System类使用ContentResolver设置系统对比度:

    1
    2
    3
    ContentResolver cr = getContentResolver();
    Settings.System.putInt(cr, Settings.System.SCREEN_BRIGHTNESS_MODE, Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL); //设置手动调节屏幕亮度
    Settings.System.putInt(cr, Settings.System.SCREEN_CONTRAST, 100); //设置对比度,取值范围为0-255

    需要注意的是,设置对比度的方法在不同版本的Android中可能会有所不同。另外,您需要在AndroidManifest.xml文件中添加以下权限:

1
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>