农民 发表于 2025-2-14 20:21:04

鸿蒙OpenHarmony【Badge】信息展示

可以附加在单个组件上用于信息标记的容器组件。
阐明
该组件从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
子组件

支持单个子组件。
阐明
子组件类型:系统组件和自界说组件,支持渲染控制类型(、和)。
接口

Badge

Badge(value: BadgeParamWithNumber)
创建数字标记组件。
卡片本事: 从API version 9开始,该接口支持在ArkTS卡片中利用。
元服务API: 从API version 11开始,该接口支持在元服务中利用。
系统本事: SystemCapability.ArkUI.ArkUI.Full
参数:
参数名类型必填阐明value是数字标记组件参数。Badge

Badge(value: BadgeParamWithString)
根据字符串创建标记组件。
卡片本事: 从API version 9开始,该接口支持在ArkTS卡片中利用。
元服务API: 从API version 11开始,该接口支持在元服务中利用。
系统本事: SystemCapability.ArkUI.ArkUI.Full
从API version 12开始,该组件显隐时支持scale动效。
参数:
参数名类型必填阐明value是字符串标记组件参数。BadgeParam对象阐明

包罗创建Badge组件的底子参数。
卡片本事: 从API version 9开始,该接口支持在ArkTS卡片中利用。
元服务API: 从API version 11开始,该接口支持在元服务中利用。
系统本事: SystemCapability.ArkUI.ArkUI.Full
名称类型必填阐明position否style是Badge组件可设置样式,支持设置文本颜色、尺寸、圆点颜色和尺寸。BadgeParamWithNumber对象阐明

BadgeParamWithNumber继承自,具有BadgeParam的全部属性。
卡片本事: 从API version 9开始,该接口支持在ArkTS卡片中利用。
元服务API: 从API version 11开始,该接口支持在元服务中利用。
系统本事: SystemCapability.ArkUI.ArkUI.Full
名称类型必填阐明countnumber是设置提醒消息数。**阐明:**小于等于0时不显示信息标记。取值范围:[-2147483648,2147483647],超出范围时会加上或减去4294967296,使得值仍在范围内,非整数时会舍去小数部分取整数部分,如5.5取5。maxCountnumber否最大消息数,超过最大消息时仅显示maxCount+。默认值:99取值范围:[-2147483648,2147483647],超出范围时会加上或减去4294967296,使得值仍在范围内,非整数时会舍去小数部分取整数部分,如5.5取5。BadgeParamWithString对象阐明

BadgeParamWithString继承自,具有BadgeParam的全部属性。
卡片本事: 从API version 9开始,该接口支持在ArkTS卡片中利用。
元服务API: 从API version 11开始,该接口支持在元服务中利用。
系统本事: SystemCapability.ArkUI.ArkUI.Full
名称类型必填阐明valuestring是提示内容的文本字符串。BadgePosition枚举阐明

卡片本事: 从API version 9开始,该接口支持在ArkTS卡片中利用。
元服务API: 从API version 11开始,该接口支持在元服务中利用。
系统本事: SystemCapability.ArkUI.ArkUI.Full
名称值阐明RightTop0圆点显示在右上角。Right1圆点显示在右侧纵向居中。Left2圆点显示在左侧纵向居中。BadgeStyle对象阐明

卡片本事: 从API version 9开始,该接口支持在ArkTS卡片中利用。
元服务API: 从API version 11开始,该接口支持在元服务中利用。
系统本事: SystemCapability.ArkUI.ArkUI.Full
名称类型必填阐明color否文本颜色。默认值:Color.WhitefontSizenumberstring否badgeSizenumberstring否badgeColor否Badge的颜色。默认值:Color.RedfontWeight10+numberstringborderColor10+否底板描边颜色。默认值:Color.RedborderWidth10+否底板描边粗细。默认值:1单元:vp**阐明:**不支持设置百分比。属性

支持[通用属性]
变乱

支持[通用变乱]
示例

示例1

// xxx.ets
@Entry
@Component
struct BadgeExample {
@Builder tabBuilder(index: number) {
    Column() {
      if (index === 2) {
      Badge({
          value: '',
          style: { badgeSize: 6, badgeColor: '#FA2A2D' }
      }) {
          Image('/common/public_icon_off.svg')
            .width(24)
            .height(24)
      }
      .width(24)
      .height(24)
      .margin({ bottom: 4 })
      } else {
      Image('/common/public_icon_off.svg')
          .width(24)
          .height(24)
          .margin({ bottom: 4 })
      }
      Text('Tab')
      .fontColor('#182431')
      .fontSize(10)
      .fontWeight(500)
      .lineHeight(14)
    }.width('100%').height('100%').justifyContent(FlexAlign.Center)
}

@Builder itemBuilder(value: string) {
    Row() {
      Image('common/public_icon.svg').width(32).height(32).opacity(0.6)
      Text(value)
      .width(177)
      .height(21)
      .margin({ left: 15, right: 76 })
      .textAlign(TextAlign.Start)
      .fontColor('#182431')
      .fontWeight(500)
      .fontSize(16)
      .opacity(0.9)
      Image('common/public_icon_arrow_right.svg').width(12).height(24).opacity(0.6)
    }.width('100%').padding({ left: 12, right: 12 }).height(56)
}

build() {
    Column() {
      Text('dotsBadge').fontSize(18).fontColor('#182431').fontWeight(500).margin(24)
      Tabs() {
      TabContent()
          .tabBar(this.tabBuilder(0))
      TabContent()
          .tabBar(this.tabBuilder(1))
      TabContent()
          .tabBar(this.tabBuilder(2))
      TabContent()
          .tabBar(this.tabBuilder(3))
      }
      .width(360)
      .height(56)
      .backgroundColor('#F1F3F5')

      Column() {
      Text('stringBadge').fontSize(18).fontColor('#182431').fontWeight(500).margin(24)
      List({ space: 12 }) {
          ListItem() {
            Text('list1').fontSize(14).fontColor('#182431').margin({ left: 12 })
          }
          .width('100%')
          .height(56)
          .backgroundColor('#FFFFFF')
          .borderRadius(24)
          .align(Alignment.Start)

          ListItem() {
            Badge({
            value: 'New',
            position: BadgePosition.Right,
            style: { badgeSize: 16, badgeColor: '#FA2A2D' }
            }) {
            Text('list2').width(27).height(19).fontSize(14).fontColor('#182431')
            }.width(49.5).height(19)
            .margin({ left: 12 })
          }
          .width('100%')
          .height(56)
          .backgroundColor('#FFFFFF')
          .borderRadius(24)
          .align(Alignment.Start)
      }.width(336)

      Text('numberBadge').fontSize(18).fontColor('#182431').fontWeight(500).margin(24)
      List() {
          ListItem() {
            this.itemBuilder('list1')
          }

          ListItem() {
            Row() {
            Image('common/public_icon.svg').width(32).height(32).opacity(0.6)
            Badge({
                count: 1,
                position: BadgePosition.Right,
                style: { badgeSize: 16, badgeColor: '#FA2A2D' }
            }) {
                Text('list2')
                  .width(177)
                  .height(21)
                  .textAlign(TextAlign.Start)
                  .fontColor('#182431')
                  .fontWeight(500)
                  .fontSize(16)
                  .opacity(0.9)
            }.width(240).height(21).margin({ left: 15, right: 11 })

            Image('common/public_icon_arrow_right.svg').width(12).height(24).opacity(0.6)
            }.width('100%').padding({ left: 12, right: 12 }).height(56)
          }

          ListItem() {
            this.itemBuilder('list3')
          }

          ListItem() {
            this.itemBuilder('list4')
          }
      }
      .width(336)
      .height(232)
      .backgroundColor('#FFFFFF')
      .borderRadius(24)
      .padding({ top: 4, bottom: 4 })
      .divider({ strokeWidth: 0.5, color: 'rgba(0,0,0,0.1)', startMargin: 60, endMargin: 12 })
      }.width('100%').backgroundColor('#F1F3F5').padding({ bottom: 12 })
    }.width('100%')
}
}
https://i-blog.csdnimg.cn/direct/f7bea4b56b3547019f88b44c85d8074a.png
示例2

// 该示例实现了Badge组件显隐时缩放
@Entry
@Component
struct Index {
@State badgeCount: number = 1

build() {
    Column({ space: 40 }) {
      Badge({
      count: this.badgeCount,
      style: {},
      position: BadgePosition.RightTop,
      }) {
      Image($r("app.media.icon"))
      .width(50)
      .height(50)
      }
      .width(55)
      Button('count 0').onClick(() => {
      this.badgeCount = 0
      })
      Button('count 1').onClick(() => {
      this.badgeCount = 1
      })
    }
    .margin({top: 20})
}
}
https://i-blog.csdnimg.cn/direct/9b427af50ce04d6497711c6af7aa74f9.png

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! 更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 鸿蒙OpenHarmony【Badge】信息展示