android设置自动亮度,Android设置屏幕亮度
使用场景
最近在研究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设置屏幕亮度相关推荐
- 除开各种设置自动调节开关,笔记本电脑屏幕亮度自动变亮变暗解决办法
今天笔记本电脑屏幕亮度一直会自动调节,百度了一些办法,各种方法都尝试后,最后才发现一种办法: 前提:已经关闭了自动调节亮度 解决办法:关机,然后再开机,开机之后再去插上电源就可以了.
- Android 9 自动恢复出厂设置问题(auto-recovery)
Android 9 自动恢复出厂设置问题(auto-recovery) 本章节针对引入了auto-recovery功能的版本,并且设备关机是以直接断电方式. 涉及知识点:开关机;e2fsck;reco ...
- win7调整屏幕亮度_三星屏幕亮度微调app免费版下载-三星手机屏幕亮度微调软件一键操作版v1.0 最新版...
三星手机屏幕亮度微调软件一键操作版,是一款非常实用的亮度调节软件,软件内功能强大,用户在智能感光模式下,可以一键轻松调节屏幕亮度,并且手机上的内容也看的一清二楚,有效的保护了用户的用眼问题. 三星手机 ...
- android修改自动背光,Android LCD和键盘 背光亮度设置
亮度设置 应用设计 1.1 设置进度条范围 背光设置是在:设置->声音和显示->亮度,通过进度条来设置的. 文件:packages/apps/Settings/src/com/Androi ...
- android os自动联网,联网设置指南
Eduroam联网设置指南 ---------------------------------------------------- Android系统使用说明 找到eduroam信号并点击连接,EA ...
- android如何设置自动补,Android Studio 中设置代码块自动补齐
AS中很多提示键,并不如Eclipse中做的好,需要我们自己去自定义.这里以switch...case为例,讲解一下如何设置代码自动补全. 1.进入settings --> Editor -- ...
- android 键盘 自动消失,android 键盘状态,获取键盘显示和隐藏
要设置弹出键盘是否覆盖Activity的view,或者软键盘的显示隐藏状态,需要用到Activity的一个属性: android:windowSoftInputMode 该属性在AndroidMani ...
- android开发自动拍照,Android:Camera2开发详解(上):实现预览、拍照、保存照片等功能...
android.jpg 前言 在前几篇文章中介绍了如何调用系统相机拍照和使用Camera1的实现自定义相机拍照.人脸检测等功能 文章传送门: 接下来的几篇文章中,我将给大家介绍如何使用Camera2实 ...
- android+tv+自动切换,Android TV 重写GridView,实现焦点放大效果
关于缩放,使用了view.setScaleX/Y 方法,api11以上即可. 重写dispatchDraw(),绘制选中项的焦点效果.(注意带阴影的焦点图需要微调偏移量) 要将选中项绘制显示在顶层,所 ...
- 台式电脑屏幕怎么调亮度_电脑屏幕亮度到底怎么调才最好?
受到再大的打击,只要生命还在,请相信每天的太阳都是新的. Hello,大家好,我是BoBo 一个喜欢做公众号,但是做的又有点糙的非科班小编. 这里没有华丽的排版,也没有长长的套路,有的只是一颗真心,喜 ...
最新文章
- 在线作图丨如何画一个优美的相关性热图
- 9月份国外最佳WordPress主机提供商Top12
- 修改开发环境、工程、文件的字符集
- Spring MVC工作原理 及注解说明
- idea启动tomcat时报错:Error during artifact deployment. See server log for details.
- pcl_openmap_OpenMap教程5 – 3层GIS应用程序
- oracle 截取字指定的字符串
- 视频录制直播软件——OBS(录制MP4文件)
- 无线网络技术导论笔记(第五讲)
- C/S架构系统的自动更新功能设计与实现(四)
- 因“投标人不足”终止后,电信、联通重启5100万户5G消息招标项目!
- 什么是视频监控平台的平台对接
- chrome-功能指令
- 集成融云RongCloud视频通话功能PC端
- 自动化测试应用---HTML测试报告+邮件发送
- mixamo骨骼_mixamo动作库的模型和动作绑定控制器的方法-上集
- openwrt修改lan口地址失败_OpenWrt刷机后LAN口无法连通的问题
- 根文件系统与文件系统的区别
- 23web app实现上下左右滑动
- 美国共享单车数据分析