Android 调节当前界面屏幕亮度

  • lp.screenBrightness 取值 0.0 ~ 1.0 设定值(float)的范围,默认小于 0(系统设定)、0.0(暗)~1.0(亮)
  • 调用处理的地方,例如, Activity.onCreate()等等
    /**
     * @param brightness [0.1,1.0] , auto -1
     */
    public static void setScreenBrightness(Activity activity, float brightness) {
        if (null != activity) {
            WindowManager.LayoutParams lp = activity.getWindow().getAttributes();
            lp.screenBrightness = brightness;
            activity.getWindow().setAttributes(lp);
        }
    }

注:
1、b是一个浮点数 从0~1 ,表示亮度
2、当我们遇到把Activity做为子Activity潜入到TabActivity 或者 ViewGroup 类容器时,通常上面的方法设置无法取得成功。
3、在子Activity中,屏幕亮度不发生改变。因为调节亮度作用域发生了改变,之前是在Activity里面对亮度修改。而现在是作为子activity对TabActivity或ViewGroup 容器进行修改。因此不能成功,需要通过getParent()方法获取器Parent,然后设置。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容