0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

HarmonyOS应用一键置灰指南

童长老 来源:jf_14594073 作者:jf_14594073 2025-06-27 00:08 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

一键置灰通常应用于如下场景

1. 重大悼念活动:

在国家发生重大灾难、事故或举行悼念日等特殊时期,为了表达对逝者的尊重和哀悼,许多 APP 会将界面置灰。例如,在一些地震、空难等灾难事件发生后,以及全国性的哀悼日期间,大量 APP 会响应号召进行一键置灰。这不仅是一种情感上的表达,也是企业和平台社会责任感的体现。

2. 特殊纪念日或主题活动:

某些具有特殊意义的纪念日活动,APP 可能会选择置灰界面来营造特定的氛围。比如在反法西斯战争胜利纪念日等与历史事件相关的日子,一些历史文化类或相关主题的 APP 可能会通过置灰来引导用户关注和铭记这些重要时刻。

3. 模拟特殊视觉效果或用户体验场景:

在一些特定的应用场景中,为了给用户带来独特的视觉感受或模拟特定的情境,APP 会使用置灰功能。例如,在一些电影、电视剧的宣传 APP 中,为了营造出怀旧、复古或特定的剧情氛围,可能会将界面一键置灰,让用户仿佛置身于特定的时代背景中;或者在一些游戏 APP 中,特定的关卡或场景可能需要将界面置灰,以增加游戏的神秘感、紧张感或突出特定的元素。

4. 系统或 APP 维护升级:

当 APP 进行维护、升级或出现故障需要暂停使用时,为了向用户明确提示当前 APP 的不可用状态,可能会将界面置灰,并显示相关的维护提示信息。这样可以避免用户在不知情的情况下继续操作,减少用户的困惑和不满,同时也方便开发团队进行维护工作。

实现方案

1. 组件通用属性 grayscale

grayscale(value: number) 为组件添加灰度效果。
value,为当前组件添加灰度效果。值定义为灰度转换的比例,入参1.0则完全转为灰度图像,入参0.0则图像无变化,入参在0.0和1.0之间时,效果呈线性变化。(百分比);默认值:0.0;取值范围:[0.0, 1.0];说明:设置小于0.0的值时,按值为0.0处理,设置大于1.0的值时,按值为1.0处理。

Image($r('app.media.image')).width('90%').height(30).grayscale(0.7)
Image($r('app.media.image')).width('90%').height(30).grayscale(1)
 
Text('为组件添加灰度效果').fontSize(15).fontColor(0xFF0000).grayscale(1)
封装一个通用的置灰组件,所有页面使用该组件包裹。

2、窗口属性 setWindowGrayScale

setWindowGrayScale(grayScale: number): Promise
设置窗口灰阶,使用Promise异步回调。该接口需要在调用loadContent()或setUIContent()使窗口加载页面内容后调用。
grayScale,窗口灰阶。该参数为浮点数,取值范围为[0.0, 1.0]。0.0表示窗口图像无变化,1.0表示窗口图像完全转为灰度图像,0.0至1.0之间时效果呈线性变化。

import { BusinessError } from '@kit.BasicServicesKit';

windowClass?.setUIContent('pages/Index', (error: BusinessError) = > {
  if (error.code) {
    console.error(`Failed to set the content. Cause code: ${error.code}`);
    return;
  }
  console.info('Succeeded in setting the content.');
  let grayScale: number = 0.5;
  try {
    if (canIUse("SystemCapability.Window.SessionManager")) {
      let promise = windowClass?.setWindowGrayScale(grayScale);
      promise?.then(() = > {
        console.info('Succeeded in setting the grayScale.');
      }).catch((err: BusinessError) = > {
        console.error(`Failed to set the grayScale. Cause code: ${err.code}, message: ${err.message}`);
      });
    }
  } catch (exception) {
    console.error(`Failed to set the grayScale. Cause code: ${exception.code}, message: ${exception.message}`);
  }
});

3、使用工具库harmony-utils

调用工具类方法, AppUtil.setGrayScale(1);

AppUtil.setGrayScale(0.7); //设置灰度0.7
AppUtil.setGrayScale(1); //设置全灰
AppUtil.setGrayScale(1, true); //只置灰主窗口

AppUtil.setGrayScale(0); //取消置灰

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • HarmonyOS
    +关注

    关注

    80

    文章

    2156

    浏览量

    36277
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    方便快捷:PADS的一键快捷功能:一键灌铜,一键检查DRC

    倾情奉献给大家,非常实用的快捷功能一键灌铜: [hide] [/hide]一键检查连通性:[hide][/hide]一键检查安全间距::[hide] [/hide]一键清除Error标
    发表于 11-07 15:06

    一键还原系统

    老毛桃一键 V2.0.12.5更新说明: 1、细节完善及处理已知的问题2、更新GRUB模块,提高兼容性3、高级项“搜索”开放自定后缀,可搜索任何后缀的GHO还原4、些函数位置及变量调整5、完善1
    发表于 06-18 20:41

    电信一键免流量软件电信一键免流软件app

    电信用户一键免流量上网软件款电信免费流量软件一键免流量app电信版加QQ1814806072电信2G3G4G都支持,支持免流开热点给电脑使用或者其他的设备使用,真正强大的免流,超稳定完全不跳点
    发表于 07-19 10:37

    什么是一键起飞?

    原子家的minifly,有谁搞懂了一键起飞呀?跪求
    发表于 07-11 04:35

    一键下载功能走到下面就不动了

    原子兄,我昨天试了一键下载的功能,发现走到这里就不动了:DTR电平低(-3--12V),复位 RTS高(+3-+12V),选择进入BootLoader ...延时100毫秒 DTR电平变高(+3-+12V)释放复位 RTS维
    发表于 03-04 22:09

    HarmonyOS】IDE用户指南

    `HUAWEI DevEco Device ToolHarmonyOS 智能设备站式集成开发环境,支持 HarmonyOS 组件按需定制、一键编译和烧录、可视化调试、分布式能力集成等
    发表于 09-15 19:02

    Stm32怎么一键下载

    文章目录前言一键下载一键下载原理硬件原理图跳帽与启动存储映射串口下载程序由来一键下载流程通过 USB 控制机器复位握手解读前言最近在又要折腾 stm32 了,所以翻出了脚落里的开发板,先复习下
    发表于 08-05 08:13

    一键ghost11使用教程

    一键ghost11使用教程
    发表于 01-08 09:25 60次下载
    <b class='flag-5'>一键</b>ghost11使用教程

    Stm32 一键下载电路详解

    文章目录前言一键下载一键下载原理硬件原理图跳帽与启动存储映射串口下载程序由来一键下载流程通过 USB 控制机器复位握手解读前言最近在又要折腾 stm32 了,所以翻出了脚落里的开发板,先复习下
    发表于 11-24 18:06 10次下载
    Stm32 <b class='flag-5'>一键</b>下载电路详解

    smart200PLC一键启停的常用写法

    (复位/一键启停) 程序解说: 按下按钮M10.4,它接通第个扫描周期,Q0.2线圈得电位为 1;再次按下M10.4,Q0.2线圈复位为0;.5作为
    发表于 10-08 11:53 4992次阅读
    smart200PLC<b class='flag-5'>一键</b>启停的常用写法

    一键开关电路的好处?生活中的一键开关电路有哪些?

    一键开关电路的好处?生活中的一键开关电路有哪些? 一键开关电路是指个电路设计,可以用个按钮或开关来控制多个电器或灯具的开关。
    的头像 发表于 10-22 15:18 4553次阅读

    变电站一键顺控系统和开关柜一键顺控有区别吗?

    变电站一键顺控系统和开关柜一键顺控技术虽然都涉及到“一键顺控”的概念,但它们在应用范围和具体实现上有所不同,因此变电站一键顺控系统和开关柜一键
    的头像 发表于 07-31 13:34 2172次阅读
    变电站<b class='flag-5'>一键</b>顺控系统和开关柜<b class='flag-5'>一键</b>顺控有区别吗?

    一键断电开关的种类有哪些

    一键断电开关的种类主要可以从其功能和实现方式上进行分类。以下是些常见的一键断电开关种类: 1. 继电器式一键断电开关 定义 :这种开关通过继电器或接触器控制电路的通断,实现
    的头像 发表于 09-13 16:45 6158次阅读

    开关柜一键顺控在一键停电、一键送电中的作用

    蜀瑞创新为大家科普,开关柜一键顺控技术在一键停电和一键送电中发挥了快速响应、减少人为错误、提高安全性、简化操作流程、降低操作风险、提高送电成功率等综合优势,对于提升电力系统的运行效率、安全性以及自动化水平具有重要意义。
    的头像 发表于 02-27 09:13 1715次阅读

    PicoClaw 安卓原生 APK 测试版发布!吃机顶盒一键养虾体验!

    千呼万唤始出来,PicoClaw安卓原生APK测试版来啦!再也不用倒腾Termux复杂的安装,APK包一键安装使用!特别针对安卓机顶盒适配,简洁界面连遥控器都能操作快唤醒你家的吃机顶盒,把它升级为你的家庭AI中枢吧!
    的头像 发表于 04-01 17:20 550次阅读
    PicoClaw 安卓原生 APK 测试版发布!吃<b class='flag-5'>灰</b>机顶盒<b class='flag-5'>一键</b>养虾体验!