• 重温Android——调节屏幕亮度


      唔,明天要去网易笔试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类,一个可自动消失的提示框,轻型控件。

      转载请注明原址:http://www.cnblogs.com/lekko/archive/2013/03/20/2971825.html

  • 相关阅读:
    提高网站访问速度的34个方法
    ASP.NET MVC3学习笔记四(Controller)
    ASP.NET MVC3 读书笔记一(Razor视图)
    DataSet DataTable DataReader dataAdapter区别
    EF Code First(约定配置)
    asp.net中APPlication、Session和Cookie的区别
    ASP.NET MVC3 读书笔记三(数据注解Dataannotation和验证)
    一步步构建大型网站架构
    ASP.NET MVC3 读书笔记二(HtmlHelper)
    Sql 查询语句总结
  • 原文地址:https://www.cnblogs.com/lekko/p/2971825.html
Copyright © 2020-2023  润新知