本文实例讲述了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();
}
}
获取屏幕亮度值
这里需要了解:
1. 屏幕最大亮度为255。
2. 屏幕最低亮度为0。
3. 屏幕亮度值范围必须位于:0~255。
设置屏幕亮度的方法:
private int getScreenBrightness() {
ContentResolver contentResolver = getActivity().getContentResolver();
int defVal = 125;
return Settings.System.getInt(contentResolver,
Settings.System.SCREEN_BRIGHTNESS, defVal);
}
设置系统屏幕亮度值
在设置系统屏幕亮度前,需要保证AndroidManifest.xml中声明如下权限:
复制代码 代码如下:<uses-permission android:name="android.permission.WRITE_SETTINGS"/>
当屏幕亮度模式为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调试技巧与常见问题解决方法汇总》、《Android基本组件用法总结》、《Android视图View技巧总结》、《Android布局layout技巧总结》及《Android控件用法总结》
希望本文所述对大家Android程序设计有所帮助。
# Android
# 设置
# 屏幕亮度
# android 屏幕亮度调节方法详解
# Android调节屏幕亮度实现代码
# android 如何设置开机后屏幕亮度默认值为自动调节
# Android编程调节屏幕亮度(背景灯)及保持背景灯常亮的方法
# Android中 视频屏幕左半部分上下滑动改变亮度右半部分上下滑动改变声音
# Android视频播放器屏幕左侧边随手指上下滑动亮度调节功能的原理实现
# Android开发实现调节屏幕亮度功能
# 值为
# 进阶
# 相关内容
# 感兴趣
# 可以通过
# 给大家
# 写了
# 有两种
# 更多关于
# 解决方法
# 所述
# 程序设计
# 方法如下
# 很广
# 具体做法
# 自动调节
# 讲述了
# br
# lp
# WindowManager
相关文章:
如何配置IIS站点权限与局域网访问?
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
如何在万网ECS上快速搭建专属网站?
一键制作网站软件下载安装,一键自动采集网页文档制作步骤?
如何通过FTP服务器快速搭建网站?
微信推文制作网站有哪些,怎么做微信推文,急?
宁波自助建站系统如何快速打造专业企业网站?
建站之星如何实现PC+手机+微信网站五合一建站?
宝塔建站后网页无法访问如何解决?
哈尔滨网站建设策划,哈尔滨电工证查询网站?
怎么将XML数据可视化 D3.js加载XML
济南网站建设制作公司,室内设计网站一般都有哪些功能?
车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?
网站按钮制作软件,如何实现网页中按钮的自动点击?
已有域名和空间如何快速搭建网站?
赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?
岳西云建站教程与模板下载_一站式快速建站系统操作指南
如何在云指建站中生成FTP站点?
Python路径拼接规范_跨平台处理说明【指导】
宝塔面板如何快速创建新站点?
网站app免费制作软件,能免费看各大网站视频的手机app?
网站设计制作公司地址,网站建设比较好的公司都有哪些?
红河网站制作公司,红河事业单位身份证如何上传?
如何快速搭建响应式可视化网站?
动图在线制作网站有哪些,滑动动图图集怎么做?
创业网站制作流程,创业网站可靠吗?
如何使用Golang安装API文档生成工具_快速生成接口文档
建站主机是否等同于虚拟主机?
如何选择服务器才能高效搭建专属网站?
三星网站视频制作教程下载,三星w23网页如何全屏?
如何用VPS主机快速搭建个人网站?
建站之星微信建站一键生成小程序+多端营销系统
义乌企业网站制作公司,请问义乌比较好的批发小商品的网站是什么?
做企业网站制作流程,企业网站制作基本流程有哪些?
建站主机是什么?如何选择适合的建站主机?
建站之星客服服务时间及联系方式如何?
高端智能建站公司优选:品牌定制与SEO优化一站式服务
企业网站制作费用多少,企业网站空间一般需要多大,费用是多少?
制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?
建站主机系统SEO优化与智能配置核心关键词操作指南
建站主机如何选?高性价比方案全解析
南阳网站制作公司推荐,小学电子版试卷去哪里找资源好?
金*站制作公司有哪些,金华教育集团官网?
山东云建站价格为何差异显著?
建站之星代理商如何保障技术支持与售后服务?
网站海报制作教学视频教程,有什么免费的高清可商用图片网站,用于海报设计?
制作假网页,招聘网的薪资待遇,会有靠谱的吗?一面试又各种折扣?
网站企业制作流程,用什么语言做企业网站比较好?
如何选择高性价比服务器搭建个人网站?
制作电商网页,电商供应链怎么做?
*请认真填写需求信息,我们会在24小时内与您取得联系。