博客
关于我
Android设置某个窗口常亮和最大亮度
阅读量:350 次
发布时间:2019-03-04

本文共 923 字,大约阅读时间需要 3 分钟。

Android屏幕设置常亮与最大亮度优化方法详解

微信在展示支付二维码时有一个很细心的细节-屏幕自动最高亮度,并且保持常亮,这样对方扫描时就能更方便,也能有效防止屏幕玻璃反光造成的干扰。这个需求也经常出现在我们的项目中,经过查阅资料总结出以下最简单和适用的方法。

一、屏幕保持常亮

在需要常亮的窗口界面也就是Activity,它的布局文件根布局里加上android:keepScreenOn=”true”。这个属性可以让屏幕保持常亮状态,适用于需要长时间显示的界面。需要注意的是,需要在Activity的生命周期中合理地开启和关闭这个功能。

二、屏幕设置最大亮度

Window是Android的一个抽象类,用来描述当前应用的窗口。我们可以像普通的View一样获得Window的layoutParams,然后设置里面的属性,然后设置到Window里面去。

  • 首先定义一个方法setWindowBrightness
  • private void setWindowBrightness(float brightness) {    Window window = getWindow();    WindowManager.LayoutParams lp = window.getAttributes();    lp.screenBrightness = brightness;    window.setAttributes(lp);}
    1. 在Activity的onCreate生命周期里调用这个方法,调节屏幕亮度最大
    2. //设置屏幕亮度最大setWindowBrightness(WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_FULL);
      1. 在Activity的onDestroy生命周期里调用这个方法,当离开当前窗口时,取消屏幕最亮效果
      2. //取消屏幕最亮setWindowBrightness(WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_NONE);

        通过以上方法,我们可以实现屏幕保持常亮并设置最大亮度的功能。这个方法简单有效,适用于需要长时间显示的界面。

    转载地址:http://hxpr.baihongyu.com/

    你可能感兴趣的文章
    android 用action拦截打电话界面
    查看>>
    android中getLocationInWindow 和 getLocationOnScreen的区别
    查看>>
    Android onSaveInstanceState()和onRestoreInstanceState()调用时机
    查看>>
    错误: 编码GBK的不可映射字符
    查看>>
    linux文件的权限 –rwxr-xr-x是什么意思,怎样变更文件夹以及下面所有文件的拥有者。
    查看>>
    Python-Url编码和解码
    查看>>
    2019年一个程序员的回顾与成长计划
    查看>>
    vue if else用法。
    查看>>
    vue 官方实例教程 markdown demo
    查看>>
    Python数据类型 列表、元组、集合、字典的区别和相互转换
    查看>>
    宝塔配置404 502页面
    查看>>
    Mac OS X 下 su 命令提示 sorry 的解决方法
    查看>>
    vue-router 缓存路由组件对象
    查看>>
    js中事件捕获和事件冒泡(事件流)
    查看>>
    js的各种数据类型判断(in、hasOwnProperty)
    查看>>
    严格模式、混杂模式与怪异模式
    查看>>
    一篇文章带你搞定 Java 中字符流的基本操作(Write / Read)
    查看>>
    HTML 和 CSS 简单实现注册页面
    查看>>
    (SpringMVC)springMVC.xml 和 web.xml
    查看>>
    Oracle 学习一篇文章就够了(珍藏版)
    查看>>