Kotlin改变当前窗口或整个系统的亮度

本文介绍如何通过修改screenBrightness属性来调整Android应用内的窗口亮度及系统亮度。窗口亮度的调节范围从-1F(随系统)到1F(最亮),而改变系统亮度则需要WRITE_SETTINGS权限。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.改变窗口来亮度
screenBrightness 的值范围为-1F~1F
当screenBrightness 小于0是随系统亮度,
当screenBrightness 为0是最暗,1时最亮
改变窗口亮度的上下文必须是Activity

  when(position){
                    0->{
                        /*小于0随系统,亮度范围是从0到1*/
                        window.attributes = window.attributes.apply {  screenBrightness = 0f}
                    }
                    1->{
                        window.attributes = window.attributes.apply {  screenBrightness = 0.5f}
                    }
                    2->{
                        window.attributes = window.attributes.apply {  screenBrightness = 1f}
                    }
                }

2.改变系统亮度,这里需要申请权限

<uses-permission android:name="android.permission.WRITE_SETTINGS"
        tools:ignore="ProtectedPermissions" />
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值