标签难度样式代码HarmonyOS NEXT(适用API12以上版本)

HarmonyOS NEXT

1.三种难度样式

2.实现 tag 组件,支持自定义文字和颜色优先

//难度标签
export interface HcTagInfo {
  text: string;
  color: ResourceColor;
}

@Component
export  struct HcTag {
  //难度
  @Prop difficulty: number = 0
  //文字
  @Prop text: string = ''
  //文字颜色
  @Prop color: ResourceColor = ''

  build() {
    Text(this.text || infoMap[this.difficulty].text)
      .fontColor(this.color || infoMap[this.difficulty].color)
      .fontSize(10)
      .padding({ left: 6, right: 6 })
      .height(18)
      .constraintSize({ minWidth: 30 })//最小宽度
      .borderRadius(2)
      .backgroundColor($r('app.color.common_gray_bg'))
      .textAlign(TextAlign.Center)
  }
}

const infoMap: Record<number, HcTagInfo> = {
  1: { text: "简单", color: $r("app.color.common_green") },
  2: { text: "简单", color: $r("app.color.common_green") },
  3: { text: "一般", color: $r("app.color.common_blue") },
  4: { text: "一般", color: $r("app.color.common_blue") },
  5: { text: "困难", color: $r("app.color.common_main_color") },
};

3.测试,实现效果

Column({ space: 10 }) {
            HcTag({ difficulty: 1 })
            HcTag({ difficulty: 2 })
            HcTag({ difficulty: 3 })
            HcTag({ difficulty: 4 })
            HcTag({ difficulty: 5 })
          }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值