博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
重温Android——调节屏幕亮度
阅读量:7132 次
发布时间:2019-06-28

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

  唔,明天要去网易笔试Android实习生,于是翻出以前写的Android代码,温习一下,想象一下,当然,这必然不会导致太多的本质改变,不过总得试试,就这样, 上代码。

1 package android.lekko.tools; 2  3 import android.app.Activity; 4 import android.content.ContentResolver; 5 import android.provider.Settings; 6 import android.provider.Settings.System; 7 import android.view.WindowManager; 8 import android.widget.Toast; 9 10 public class LightnessControl {11     // 判断是否开启了自动亮度调节 12     public static boolean isAutoBrightness(Activity act) { 13         boolean automicBrightness = false; 14         ContentResolver aContentResolver = act.getContentResolver();15         try { 16             automicBrightness = Settings.System.getInt(aContentResolver, 17                    Settings.System.SCREEN_BRIGHTNESS_MODE) == Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC; 18         } catch (Exception e) { 19             Toast.makeText(act,"无法获取亮度",Toast.LENGTH_SHORT).show();20         } 21         return automicBrightness; 22     }     23     // 改变亮度24     public static void SetLightness(Activity act,int value)25     {        26         try {27             System.putInt(act.getContentResolver(),System.SCREEN_BRIGHTNESS,value); 28             WindowManager.LayoutParams lp = act.getWindow().getAttributes(); 29             lp.screenBrightness = (value<=0?1:value) / 255f;30             act.getWindow().setAttributes(lp);31         } catch (Exception e) {32             Toast.makeText(act,"无法改变亮度",Toast.LENGTH_SHORT).show();33         }        34     }35     // 获取亮度36     public static int GetLightness(Activity act)37     {38         return System.getInt(act.getContentResolver(),System.SCREEN_BRIGHTNESS,-1);39     }40     // 停止自动亮度调节 41     public static void stopAutoBrightness(Activity activity) { 42         Settings.System.putInt(activity.getContentResolver(), 43                 Settings.System.SCREEN_BRIGHTNESS_MODE, 44                 Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL); 45     }46     // 开启亮度自动调节 47     public static void startAutoBrightness(Activity activity) { 48         Settings.System.putInt(activity.getContentResolver(), 49                 Settings.System.SCREEN_BRIGHTNESS_MODE, 50                 Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC); 51     } 52 }

  这是一个单独可工作的类,主要用于调节屏幕亮度,有部分注释了,解释几个概念,不标准,供参考:

  ContentResolver类,为访问其它应用程序的对外共享数据提供方法,如上面获取、设置亮度时使用的System.getInt(),System.setInt()。

  Activity类,android程序的主要类,一个界面必有此类提供后台支持,需要继承此类。

  Settings类,android程序系统相关的设置类,各种设置都可在此找。

  LayoutParams类,android界面相关的参数,如高度、宽度、亮度等。

  Toast类,一个可自动消失的提示框,轻型控件。

  转载请注明原址:

转载于:https://www.cnblogs.com/lekko/archive/2013/03/20/2971825.html

你可能感兴趣的文章
高仿腾讯QQ即时通讯IM项目
查看>>
winform 中xml简单的创建和读取
查看>>
活动设计的“七宗罪”(转)
查看>>
如何在ChemDraw中输入℃温度符号
查看>>
SSH-Struts第二弹:一个Form提交两个Action
查看>>
词法分析
查看>>
Linux命令(二)
查看>>
Web登录验证之 Shiro
查看>>
LeeCode-Sort Colors
查看>>
Snort2.9.2.3 Installation on CentOS 6.2
查看>>
我的友情链接
查看>>
给软件工程师的自学建议
查看>>
Linux下SVN的备份方式
查看>>
hadoop 3.0.0 alpha1 分布式搭建
查看>>
刘宇凡:从吃饭中的道理领悟SEO
查看>>
1.1办公软件概述
查看>>
python中http的一些编码转换
查看>>
5.继续看W3C的 bootstrap
查看>>
PHP中include和require
查看>>
第一次标题
查看>>