使用0x八位颜色设置渐变透明度为什么与#八位资源颜色值不同
=============================

HarmonyOS支持0x开头加八位或六位的写法。当透明度设为00时，前两位透明度不再借位，即0x00333333等于0x333333，相当于没有设置透明度，因此没有透明效果。建议使用rgba方式明确颜色。参考代码如下：

@Entry
@Component
struct ColorGradientExample {
  @State transparent: number | string = '#00333333';
  private bool: boolean = true;

  build() {
    Column({ space: 5 }) {
      Text('linearGradient')
        .fontSize(12)
        .width('90%')
        .fontColor(0xCCCCCC)
      Row()
        .width('90%')
        .height(150)
        .linearGradient({
          direction: GradientDirection.Bottom,
          colors: \[\[this.transparent, 0.0\], \[0x80000000, 1.0\]\]
        })
      Button('Switch color resources')
        .onClick(() => {
          if (this.bool) {
            this.transparent = 0x00333333;
            this.bool = false;
          } else {
            this.transparent = '#00333333';
            this.bool = true;
          }
        })
    }
    .justifyContent(FlexAlign.Center)
    .width('100%')
    .height('100%')
    .padding({ top: 5 })
  }
}

效果如图所示：

![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/6f/v3/PsS_BIoRTY23BbBDqAdEZw/zh-cn_image_0000002458749397.png?HW-CC-KV=V1&HW-CC-Date=20260612T074715Z&HW-CC-Expire=86400&HW-CC-Sign=1CBC1C9E6F886CB535E2E01934123F4607EB356A964C6C52948D4787EAE93007)