文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Android亮度调节关键API与技巧,实现APP亮度个性化设置

2024-11-29 23:31

关注
// 获取系统亮度
Settings.System.getInt(getContentResolver(),Settings.System.SCREEN_BRIGHTNESS);

// 设置系统亮度
Settings.System.putInt(getContentResolver(),Settings.System.SCREEN_BRIGHTNESS,systemBrightness);

Android2.X以后的系统中,系统亮度调节中新增了“自动亮度”选项。“自动亮度”是依据外界光源来自动的改变系统亮度,目前大部分手机中对“自动亮度”还可以进行小幅度的调节其值。与自动亮度相对应的是“手动亮度”,当处于“手动亮度”下,设置拖动亮度进度条会大幅度的改变Android系统亮度。“手动亮度”和“自动亮度”分别称之为Android系统的“亮度模式”。

// 获取系统亮度模式
Settings.System.getInt(getContentResolver(),Settings.System.SCREEN_BRIGHTNESS_MODE);

// 设置系统亮度模式
Settings.System.putInt(getContentResolver(),Settings.System.SCREEN_BRIGHTNESS_MODE,systemMode);

Android中并未提供处于“自动亮度”模式下的亮度值接口。上面的获取系统亮度值接口实际上都是指“手动亮度”模式下的亮度值。通过手动亮度值以及设置系统亮度模式接口,可以满足常规的大部分针对Android系统亮度设置编码需求,以完成系统亮度调节。

Android当前Window亮度调节

常见场景:打开收付款界面时屏幕亮度变亮

//brightness是一个0.0-1.0之间的一个float类型数值。
Window window = activity.getWindow();
WindowManager.LayoutParams lp = window.getAttributes();
lp.screenBrightness = brightness;
window.setAttributes(lp);

默认情况下,当我们直接修改了系统亮度值后,当前Window中是可以即时反应出来亮度效果的,这是因为默认情况下,WindowManager.LayoutParams的screenBrightness的默认值为WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_NONE。表示Window没有自己的亮度参数,将跟随系统亮度效果的变化。当调整系统亮度后,所有Window都即时反应出系统亮度设置效果。

Android APP亮度调节

Android中并未直接提供针对于APP层面的亮度调节方式。对于需要进行APP的亮度调节,可以通过系统亮度调节或当前屏幕的亮度调节方式间接来实现。

  1. 记录下系统亮度值和亮度模式,用户在APP界面时,直接修改系统亮度值,当用户退出此APP,或APP至于后台(如按下Home按键等),再将记录的系统亮度值还原。
  2. 对每个Window进行亮度设置,在基类Activity中对APP亮度值进行设置以实现每个当前屏幕的亮度调节。


来源:沐雨花飞蝶内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯