Android,在用户不操作的情况下,定时使屏幕变暗,体验会很好。直接看代码吧。

    // 最大的屏幕亮度       private float maxLight;// 当前的亮度      private float currentLight;// 用来控制屏幕亮度      private Handler lightHandler;    // 60秒时间不点击屏幕,屏幕变暗     private long delayTime = 60 * 1000L; protected void onCreate() {// 保持屏幕常亮getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON,WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);// 屏幕亮度控制lightHandler = new Handler(Looper.getMainLooper());          maxLight = getLightness(); }@Override    public boolean dispatchTouchEvent(MotionEvent ev) {if (currentLight == 1) {startSleepTask();return false;}       startSleepTask();          return super.dispatchTouchEvent(ev);    }/**      * 获取亮度      */      private float getLightness() {        WindowManager.LayoutParams localLayoutParams = this.getWindow().getAttributes();          return localLayoutParams.screenBrightness;      }        /**      * 设置亮度       */      private void setLightness(int light) {          currentLight = light;          WindowManager.LayoutParams localLayoutParams = this.getWindow().getAttributes();        localLayoutParams.screenBrightness = (light / 255.0F);        this.getWindow().setAttributes(localLayoutParams);    }/**      * 开启休眠任务      */      private void startSleepTask() {      setLightness((int) maxLight);      stopSleepTask();    lightHandler.postDelayed(sleepWindowTask, delayTime);    }        /**      * 结束休眠任务      */      private void stopSleepTask() {      lightHandler.removeCallbacks(sleepWindowTask);      }        /**      * 休眠任务      */ Runnable sleepWindowTask = new Runnable() {          @Override          public void run() {        setLightness(1);          }      };

 

更多相关文章

  1. android UI效果三: 滚动切换屏幕
  2. android 状态栏、标题栏、屏幕高度
  3. 关于调节亮度在小米手机上异常的情况
  4. Android(安卓)开发有用代码积累
  5. android获取自定义控件位置坐标,屏幕尺寸,标题栏,状态栏高度
  6. wakelock的使用
  7. 【Android】 textview 中超出屏幕宽度的字符 省略号显示
  8. 今日头条屏幕适配_工具类
  9. Android屏幕内容制作成GIF图方式

随机推荐

  1. Android5.1 Framework分析----如何在Syst
  2. Android(安卓)Studio 移动项目到新文件夹
  3. EditText的几个小点
  4. android中使用自定义控件checkbox,Toggle
  5. Android(安卓)- NullPointerException
  6. 【Android】短信管理代码
  7. Android(安卓)6.0下报错: UnsatisfiedLin
  8. 使用ActivityGroup来切换Activity和Layou
  9. Android(安卓)- 预装(push) lib64中so文
  10. Ubuntu下安装Android反编译工具apktool和