使用场景

最近在研究AndroidL Settings的代码,写了一个简单的控件来操控屏幕亮度。

其实,调节屏幕亮度的场景应用很广,例如很多视频应用都响应touch事件来进行亮度调节。

屏幕亮度调节模式

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

Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC:值为1,自动调节亮度。

Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL:值为0,手动模式。

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

设置方法如下:

public void setScrennManualMode() {

ContentResolver contentResolver = getActivity().getContentResolver();

try {

int mode = 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.SettingNotFoundException e) {

e.printStackTrace();

}

}

获取屏幕亮度值

这里需要了解:

屏幕最大亮度为255。

屏幕最低亮度为0。

屏幕亮度值范围必须位于:0~255。

设置屏幕亮度的方法:

private int getScreenBrightness() {

ContentResolver contentResolver = getActivity().getContentResolver();

int defVal = 125;

return Settings.System.getInt(contentResolver,

Settings.System.SCREEN_BRIGHTNESS, defVal);

}

设置系统屏幕亮度值

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

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

private void saveScreenBrightness() {

setScrennManualMode();

ContentResolver contentResolver = getActivity().getContentResolver();

int value = 255; // 设置亮度值为255

Settings.System.putInt(mContentResolver,

Settings.System.SCREEN_BRIGHTNESS, value);

}

设置当前窗口亮度

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

private void setWindowBrightness(int brightness) {

Window window = getWindow();

WindowManager.LayoutParams lp = window.getAttributes();

lp.screenBrightness = brightness / 255.0f;

window.setAttributes(lp);

}

android设置自动亮度,Android设置屏幕亮度相关推荐

  1. 除开各种设置自动调节开关,笔记本电脑屏幕亮度自动变亮变暗解决办法

    今天笔记本电脑屏幕亮度一直会自动调节,百度了一些办法,各种方法都尝试后,最后才发现一种办法: 前提:已经关闭了自动调节亮度 解决办法:关机,然后再开机,开机之后再去插上电源就可以了.

  2. Android 9 自动恢复出厂设置问题(auto-recovery)

    Android 9 自动恢复出厂设置问题(auto-recovery) 本章节针对引入了auto-recovery功能的版本,并且设备关机是以直接断电方式. 涉及知识点:开关机;e2fsck;reco ...

  3. win7调整屏幕亮度_三星屏幕亮度微调app免费版下载-三星手机屏幕亮度微调软件一键操作版v1.0 最新版...

    三星手机屏幕亮度微调软件一键操作版,是一款非常实用的亮度调节软件,软件内功能强大,用户在智能感光模式下,可以一键轻松调节屏幕亮度,并且手机上的内容也看的一清二楚,有效的保护了用户的用眼问题. 三星手机 ...

  4. android修改自动背光,Android LCD和键盘 背光亮度设置

    亮度设置 应用设计 1.1 设置进度条范围 背光设置是在:设置->声音和显示->亮度,通过进度条来设置的. 文件:packages/apps/Settings/src/com/Androi ...

  5. android os自动联网,联网设置指南

    Eduroam联网设置指南 ---------------------------------------------------- Android系统使用说明 找到eduroam信号并点击连接,EA ...

  6. android如何设置自动补,Android Studio 中设置代码块自动补齐

    AS中很多提示键,并不如Eclipse中做的好,需要我们自己去自定义.这里以switch...case为例,讲解一下如何设置代码自动补全. 1.进入settings -->  Editor -- ...

  7. android 键盘 自动消失,android 键盘状态,获取键盘显示和隐藏

    要设置弹出键盘是否覆盖Activity的view,或者软键盘的显示隐藏状态,需要用到Activity的一个属性: android:windowSoftInputMode 该属性在AndroidMani ...

  8. android开发自动拍照,Android:Camera2开发详解(上):实现预览、拍照、保存照片等功能...

    android.jpg 前言 在前几篇文章中介绍了如何调用系统相机拍照和使用Camera1的实现自定义相机拍照.人脸检测等功能 文章传送门: 接下来的几篇文章中,我将给大家介绍如何使用Camera2实 ...

  9. android+tv+自动切换,Android TV 重写GridView,实现焦点放大效果

    关于缩放,使用了view.setScaleX/Y 方法,api11以上即可. 重写dispatchDraw(),绘制选中项的焦点效果.(注意带阴影的焦点图需要微调偏移量) 要将选中项绘制显示在顶层,所 ...

  10. 台式电脑屏幕怎么调亮度_电脑屏幕亮度到底怎么调才最好?

    受到再大的打击,只要生命还在,请相信每天的太阳都是新的. Hello,大家好,我是BoBo 一个喜欢做公众号,但是做的又有点糙的非科班小编. 这里没有华丽的排版,也没有长长的套路,有的只是一颗真心,喜 ...

最新文章

  1. 在线作图丨如何画一个优美的相关性热图
  2. 9月份国外最佳WordPress主机提供商Top12
  3. 修改开发环境、工程、文件的字符集
  4. Spring MVC工作原理 及注解说明
  5. idea启动tomcat时报错:Error during artifact deployment. See server log for details.
  6. pcl_openmap_OpenMap教程5 – 3层GIS应用程序
  7. oracle 截取字指定的字符串
  8. 视频录制直播软件——OBS(录制MP4文件)
  9. 无线网络技术导论笔记(第五讲)
  10. C/S架构系统的自动更新功能设计与实现(四)
  11. 因“投标人不足”终止后,电信、联通重启5100万户5G消息招标项目!
  12. 什么是视频监控平台的平台对接
  13. chrome-功能指令
  14. 集成融云RongCloud视频通话功能PC端
  15. 自动化测试应用---HTML测试报告+邮件发送
  16. mixamo骨骼_mixamo动作库的模型和动作绑定控制器的方法-上集
  17. openwrt修改lan口地址失败_OpenWrt刷机后LAN口无法连通的问题
  18. 根文件系统与文件系统的区别
  19. 23web app实现上下左右滑动
  20. 美国共享单车数据分析

热门文章

  1. 平面设计基础(PS)知识点总结
  2. 微波工程学习1-电磁理论
  3. Unity【HTC Vive Noitom】- 关于动作捕捉的两种解决方案
  4. 如何做好软件项目管理工作?
  5. 简易网页音乐播放器制作
  6. kali android命令大全,让你的安卓设备跑起kali——kali for android
  7. synchronized-锁总结
  8. 培训机构刷题小程序设计与制作
  9. 201671030123+词频统计软件项目报告
  10. python之numpy之方差numpy.var