大家在拿到dayu之后,都吐槽说,会经常熄屏,不利于调试,那么有没有一种办法,可以让app不熄屏呢,答案是有的,今天我们就来揭秘一下,如何控制屏幕亮度

1.控制屏幕常亮

首先导入模块

import brightness from '@system.brightness';

接下来在项目中使用,首先新建一个项目

在默认生成的代码里,我们只需要添加生命周期函数onPageShow,并在里面添加

 brightness.setKeepScreenOn({//设置保持屏幕常亮keepScreenOn: true,//接口调用成功的回调函数。success: function () {console.log('设置成功')},//接口调用失败的回调函数。fail: function (data, code) {console.log('设置失败 错误码code:' + code + ', data: ' + data);},});

就可以实现。

以下是完整代码:

/** Copyright (c) 2022 JianGuo Device Co., Ltd.* Licensed under the Apache License, Version 2.0 (the "License");* you may not use this file except in compliance with the License.* You may obtain a copy of the License at**    http://www.apache.org/licenses/LICENSE-2.0** Unless required by applicable law or agreed to in writing, software* distributed under the License is distributed on an "AS IS" BASIS,* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.* See the License for the specific language governing permissions and* limitations under the License.*/
/*** @ProjectName : AbilityDemo* @FileName : brightness* @Author : 坚果* @Time : 2022/9/29 9:36* @Description : 屏幕亮度设置*/
import router from '@ohos.router';
import brightness from '@system.brightness';
@Entry
@Component
struct brightnessSample {@State message: string = '亮度调节'@State progressValue: number = 0;onPageShow(){brightness.setKeepScreenOn({//设置保持屏幕常亮keepScreenOn: true,//接口调用成功的回调函数。success: function () {console.log('设置成功')},//接口调用失败的回调函数。fail: function (data, code) {console.log('设置失败 错误码code:' + code + ', data: ' + data);},});}build() {Row() {Column() {Text(this.message).fontSize(20).fontWeight(FontWeight.Bold).onClick(() => {router.back()})}.width('100%')}.height('100%')}
}

完成了屏幕常亮的功能,接下来,我们再结合进度条组件实现一个动态调节亮度的小功能,

2.动态调节亮度

需要有两个前置知识

Progress

Progress 组件可以精确的设置当前进度条的进度,它主要用在有加载进度的场景。

Progress定义介绍

interface ProgressInterface {(options: ProgressOptions): ProgressAttribute;
}declare interface ProgressOptions {value: number; // 必须要指定初始进度total?: number;style?: ProgressStyletype?: ProgressType
}

参数说明:

  • value:表示当前进度,取值范围[0, 100],当超过 100 时无效。
  • total:表示进度条总进度,默认值为100。
  • typestyle:设置进度条的样式, style 从 API 8 起使用 type 代替, ProgressType 定义了以下 种样式:
    • Linear:进度条样式为条形进度条。
    • Eclipse:进度条样式为圆形进度条。
    • Ring:环形进度条。
    • ScaleRing:环形刻度进度条。
    • Capsule:胶囊样式进度条。

接口参数中的进度总长total,默认值100符合进度条的绝大部分使用场景,如果有需要,可以设置为其它正整数的值,最终进度条的完成度取决于value/total的结果,如,将total赋值100,value赋值68,最终结果就是68/100,也就是68%。

参数名 类型 必填 说明
value number 屏幕亮度,值为1-255之间的整数。 - 如果值小于等于0,系统按1处理。 - 如果值大于255,系统按255处理。 - 如果值为小数,系统将处理为整数。例如设置为8.1,系统按8处理。
success () => void 接口调用成功的回调函数。
fail (data: string, code: number) => void 接口调用失败的回调函数。
complete () => void 接口调用结束的回调函数。

首先设置设备当前的屏幕亮度值。设置brightness.setValue

brightness.setKeepScreenOn

setKeepScreenOn(Object): void

设置屏幕是否保持常亮状态。

static setKeepScreenOn(options?: SetKeepScreenOnOptions): void;

接下来先看定义介绍

export interface SetKeepScreenOnOptions {/*** Whether to always keep the screen on.*/keepScreenOn: boolean;/*** Called when the setting is successful.*/success?: () => void;/*** Called when the setting fails.*/fail?: (data: string, code: number) => void;/*** Called when the execution is completed.*/complete?: () => void
}
参数名 类型 必填 说明
keepScreenOn boolean 是否保持屏幕常亮。
success () => void 接口调用成功的回调函数。
fail (data: string, code: number) => void 接口调用失败的回调函数。
complete () => void 接口调用结束的回调函数。

以下是完整源码

import router from '@ohos.router';
import brightness from '@system.brightness';
@Entry
@Component
struct brightnessSample {@State message: string = '亮度调节'@State progressValue: number = 0;
aboutToAppear(){setInterval(()=>{if(this.progressValue < 100){this.progressValue += 5}brightness.setValue({value: this.progressValue *2.5,success: function(){console.log('handling set brightness success.');},fail: function(data, code){console.log('handling set brightness value fail, code:' + code + ', data: ' + data);},});},500)}build() {Row() {Column() {Text(this.message).fontSize(20).fontWeight(FontWeight.Bold).onClick(() => {router.back()})Progress({value: this.progressValue,           // 设置当前进度total: 100,                  // 设置进度总量type: ProgressType.Linear}).style({strokeWidth: 18})      // 设置进度条线宽.size({width: '100%', height: 40})}.width('100%')}.height('100%')}
}

参考资料

屏幕亮度

OpenHarmony如何控制屏幕亮度相关推荐

  1. windows api 控制屏幕亮度

    屏幕亮度和音量不一样需要通过控制器去处理,这里的控制器可以是通过PCIE去控制FPGA等.

  2. linux终端调节亮度,从Ubuntu终端控制屏幕亮度

    如果您在一天的不同时间使用Ubuntu系统,则可能还需要一遍又一遍地更改屏幕的亮度,以使您的眼睛更轻松.尽管可以通过用户界面实现此目的,但是我主要在命令行上工作,并寻找一种方法来控制终端本身的屏幕亮度 ...

  3. 调整屏幕亮度,调整字体大小

    在我们开发项目的过程中,常常会遇到这样的功能,比如调整亮度,或者调整当前屏幕的字体大小, 其实这样的功能很好实现, 具体代码如下: 一.声明成员变量 1 { 2 UIView *_view; 3 BO ...

  4. linux PWM驱动屏幕亮度及pwm子系统框架(Linux驱动开发篇)

    1.对象 imx6ull单片机,控制其下面的pwm3的外设.关于对象的详细介绍看裸机pwm控制屏幕亮度 在dtsi中的位置 /soc/aips1/pwm3 pwm3: pwm@02088000 { c ...

  5. 解决 win10 更新系统或恢复出厂设置之后屏幕亮度无法调节的问题

    解决 win10 更新系统或恢复出厂设置之后屏幕亮度无法调节的问题 目标人群 以前在电脑上装过 向日葵远程控制软件 的小伙伴们. 引言 笔者前段时间将电脑(荣耀magicbook 2018)重置之后发 ...

  6. #DAYU200#如何动态调节屏幕亮度

    大家在拿到dayu之后,都吐槽说,会经常熄屏,不利于调试,那么有没有一种办法,可以让app不熄屏呢,答案是有的,今天我们就来揭秘一下,如何控制屏幕亮度 1.控制屏幕常亮 首先导入模块 import b ...

  7. Win10 开启夜间模式没有反应 屏幕亮度无法调整

    如图,可以开启夜间模式,但是实际上屏幕没有变化 或者控制屏幕亮度没变化 解决办法: 1.打开设备管理器,双击图中的选项让他运行就好了

  8. ubuntu (20.04 LTS) 屏幕亮度调节无效解决方法

    ubuntu屏幕亮度调节无效解决方法 问题描述 尝试过的解决方法 解决方法发现历程 解决方法 总结 问题描述   因为学习需要,在Win10系统的基础上安装了Ubuntu20.04 LTS 双系统,但 ...

  9. Win10屏幕亮度无法调节解决折腾记录

    博客文章地址:Win10屏幕亮度无法调节解决折腾记录 最前 不记得从什么时候更新了哪个版本的Win10起,亦或者安装了某个软件后,我的笔记本电脑就开始无法调整屏幕亮度(默认大概50%的亮度),包括但不 ...

最新文章

  1. 使用 TiKV 构建分布式类 Redis 服务
  2. 802.11发展到802.11g历程
  3. oraclesqldeveloper 批量插入多个存储过程_MongoDB如何批量执行写操作
  4. stringutils 用哪个包 apache spring_spring整合mq、jsonp跨越、httpclient工具的使用
  5. Spring-Cloud-Netflix-Eureka 服务注册治理
  6. Linux下的网络配置与连接
  7. 效率低下的原因--开发者说
  8. .NET Core 获取 Request/Headers 等信息
  9. gson读取json字符串_通过Gson解析Json数据
  10. 桌面计算机地址栏在哪,win10系统工具栏怎样添加桌面和地址栏选项【图文教程】...
  11. 回顾一年的工作历程_但回首这一年来的工作经历
  12. 计算机专业网名英语翻译,英语网名大全带翻译【三篇】
  13. 浙江工商大学计算机技术专硕,浙江工商大学会计专硕(MPAcc)项目介绍
  14. 用elasticsearch和nuxtjs搭建bt搜索引擎
  15. Process finished with exit code 1 解决方法
  16. 1.计算机指令系统,深入学习计算机指令系统唐书
  17. 【学习亚马逊AWS IOT体系有感---万物互联(物联网)】
  18. 中产移民:很难找到好工作。
  19. 工业大数据应用技术国家工程实验室
  20. JAVA图形界面中的事件处理

热门文章

  1. 搜狗输入法怎样使用自定义短语
  2. 红米4 android 8,【红米4(标准版) 安卓6.0.1线刷包】MIUI V8.1.4.0.MCECNDI稳定版 可解账号锁...
  3. 2023年5月19日Redis学习记录(笔记md文档非本人亲自编写,仅作为个人学习记录,无其他目的)
  4. eating的中文意思_eating是什么意思
  5. 机票价格按照淡季旺季、头等舱和经济舱收费、输入机票原价、月份和头等舱或经济舱。按照如下规则计算机票价格:旺季(5-10月)头等舱9折,经济舱8.5折,淡季(11月到来年4月)头等舱7折,经济舱6.5折
  6. org.zkoss.xel.XelException: Resource not found:
  7. 插上耳机没声音 程序包ID:Audioplaybackdiagnostic 错误代码:0x80070002 源:引擎 上下文:升级
  8. XR872图传声传小例程——无线传输
  9. R语言:表达式、数学公式、特殊符号
  10. 九度OJ—题目1066:字符串排序