Android 修改系统屏幕亮度及监听,kotlin标准库

本文介绍了如何使用Kotlin在Android上修改系统屏幕亮度,包括通过加减按钮和SeekBar操作,并监听亮度变化。同时,文章讨论了权限管理,如何在用户授权后修改全局亮度,并提供了相关代码示例。
摘要由CSDN通过智能技术生成

加减按钮操作

btn_add.setOnClickListener {

if (mScreenBrightness < (255 - ratio)) {

mScreenBrightness += ratio

} else {

mScreenBrightness = 255

}

setWindowBrightness(mScreenBrightness)

updateNum(mScreenBrightness)

}

btn_reduce.setOnClickListener {

if (mScreenBrightness > ratio) {

mScreenBrightness -= ratio

} else {

mScreenBrightness = 1

}

setWindowBrightness(mScreenBrightness)

updateNum(mScreenBrightness)

}

如果设置亮度的值大于255了,不会报错,但是会回到初始值,所以加减操作的时候要判断一下最大值最小值。

接下来看一下核心方法setWindowBrightness

/**

  • 设置当前应用屏幕亮度,只当前有效

*/

private fun setWindowBrightness(brightness: Int) {

val window = window

val lp = window.attributes

lp.screenBrightness = brightness / 255.0f

window.attributes = lp

}

很简单,设置window的属性即可。

这个只会对当前页面有效,返回页面或退到后台,屏幕亮度都会恢复到初始值状态。

updateNum方法是更新页面显示:

/**

  • 更新页面显示

*/

private fun updateNum(mScreenBrightness: Int) {

//转float 取四舍五入

val i: Int = (mScreenBrightness / (ratio

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值