HarmonyOS 页面置灰处理

想要实现首页置灰功能,比如在某个日期进行哀悼时首页灰度展示,这种功能应如何实现?

HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Heiang

置灰可以通过选择设置页面根组件的如下通用属性:

1、.saturate(0)https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-universal-attributes-image-effect-V5#saturate

2、.grayscale(1)https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-universal-attributes-image-effect-V5#grayscale

saturate(0)示例代码:

@Entry
@Component
struct Index {
  build() {
    Row() {
      Column() {
        Image($r("app.media.icon"))
          .autoResize(true)
          .width(100)
          .height(100)
      }
    }
    .width('100%')
    .height('100%')
    .saturate(0)
  }
}

.grayscale(1)示例代码:

@Entry
@Component
struct ArkUIClubTest {
  @State saturateValue: number = 0;

  build() {

    Column({ space: 10 }) {
      Row({ space: 10 }) {
        Text('Red Text')
          .fontColor(Color.Red)
          .fontSize(22)

        Text('Blue Text')
          .fontColor(Color.Blue)
          .fontSize(22)
      }

      Row({ space: 10 }) {

        Button('White Text')
          .fontColor(Color.White)
      }

      Flex()
        .width("100%")
        .height(50)
        .backgroundColor(Color.Pink)

      Image($r("app.media.startIcon"))
        .height(150)

      Row({ space: 10 }) {

        Button('页面置灰')
          .onClick(() => {
            this.saturateValue = 1; // 页面置灰
          })

        Button('恢复彩色')
          .onClick(() => {
            this.saturateValue = 0; // 页面复原
          })
      }
    }
    .width("100%")
    .height("100%")
    .padding(10)
    .grayscale(this.saturateValue) // 设置根组件的颜色饱和度
  }
}
分享
微博
QQ
微信
回复
1天前
相关问题
HarmonyOS 如何实现全局页面
66浏览 • 1回复 待解决
如何实现页面背景颜色
943浏览 • 1回复 待解决
APP内整体的最佳实践
302浏览 • 1回复 待解决
HarmonyOS有一键功能吗
385浏览 • 1回复 待解决
HarmonyOS 如何一键
20浏览 • 1回复 待解决
好权限后,APP安装失败
434浏览 • 1回复 待解决
HarmonyOS 页面内组件全屏怎么处理
505浏览 • 1回复 待解决
如何使应用一键变,你会吗?
2641浏览 • 1回复 待解决
如何做到类似web中的整个app变
401浏览 • 1回复 待解决
web页面栈不正确,如何处理
260浏览 • 1回复 待解决