Android中如何设置屏幕亮度

Android中如何设置屏幕亮度

本文小编为大家详细介绍“Android中如何设置屏幕亮度”,内容详细,步骤清晰,细节处理妥当,希望这篇“Android中如何设置屏幕亮度”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

屏幕亮度调节模式

Android中如何设置屏幕亮度

首先,需要明确屏幕亮度有两种调节模式:

Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC:值为1,自动调节亮度。
Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL:值为0,手动模式。

如果需要实现亮度调节,首先需要设置屏幕亮度调节模式为手动模式。

设置方法如下:

publicvoidsetScrennManualMode(){ContentResolvercontentResolver=getActivity().getContentResolver();try{intmode=Settings.System.getInt(contentResolver,Settings.System.SCREEN_BRIGHTNESS_MODE);if(mode==Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC){Settings.System.putInt(contentResolver,Settings.System.SCREEN_BRIGHTNESS_MODE,Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL);}}catch(Settings.SettingNotFoundExceptione){e.printStackTrace();}}

获取屏幕亮度值

这里需要了解:

1. 屏幕最大亮度为255。
2. 屏幕最低亮度为0。
3. 屏幕亮度值范围必须位于:0~255。

设置屏幕亮度的方法:

privateintgetScreenBrightness(){ContentResolvercontentResolver=getActivity().getContentResolver();intdefVal=125;returnSettings.System.getInt(contentResolver,Settings.System.SCREEN_BRIGHTNESS,defVal);}

设置系统屏幕亮度值

在设置系统屏幕亮度前,需要保证AndroidManifest.xml中声明如下权限:

复制代码 代码如下:

<uses-permission android:name="android.permission.WRITE_SETTINGS"/>

当屏幕亮度模式为0即手动调节时,可以通过如下代码设置屏幕亮度:

privatevoidsaveScreenBrightness(){setScrennManualMode();ContentResolvercontentResolver=getActivity().getContentResolver();intvalue=255;//设置亮度值为255Settings.System.putInt(mContentResolver,Settings.System.SCREEN_BRIGHTNESS,value);}

设置当前窗口亮度

很多视频应用,在touch事件处理屏幕亮度时,并不是修改的系统亮度值,而是修改当前应用所在窗口的亮度。具体做法就是修改LayoutParams中的screenBrightness属性。参考代码如下:

privatevoidsetWindowBrightness(intbrightness){Windowwindow=getWindow();WindowManager.LayoutParamslp=window.getAttributes();lp.screenBrightness=brightness/255.0f;window.setAttributes(lp);}

读到这里,这篇“Android中如何设置屏幕亮度”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注恰卡编程网行业资讯频道。

发布于 2022-04-15 22:29:06
收藏
分享
海报
0 条评论
32
上一篇:Android中如何自定义渐变颜色效果 下一篇:Android中如何使用Spinner实现一个列表选择框
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码