鸿蒙OpenHarmony【Badge】信息展示

农民  金牌会员 | 2025-2-14 20:21:04 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 977|帖子 977|积分 2931

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

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

  Badge

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

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

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

  BadgeParamWithNumber继承自[BadgeParam],具有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],具有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[ResourceColor]否文本颜色。默认值:Color.WhitefontSizenumberstring否badgeSizenumberstring否badgeColor[ResourceColor]否Badge的颜色。默认值:Color.RedfontWeight10+number[FontWeight]stringborderColor10+[ResourceColor]否底板描边颜色。默认值:Color.RedborderWidth10+[Length]否底板描边粗细。默认值:1单元:vp**阐明:**不支持设置百分比。  属性

  支持[通用属性]
  变乱

  支持[通用变乱]
  示例

  示例1

  1. // xxx.ets
  2. @Entry
  3. @Component
  4. struct BadgeExample {
  5.   @Builder tabBuilder(index: number) {
  6.     Column() {
  7.       if (index === 2) {
  8.         Badge({
  9.           value: '',
  10.           style: { badgeSize: 6, badgeColor: '#FA2A2D' }
  11.         }) {
  12.           Image('/common/public_icon_off.svg')
  13.             .width(24)
  14.             .height(24)
  15.         }
  16.         .width(24)
  17.         .height(24)
  18.         .margin({ bottom: 4 })
  19.       } else {
  20.         Image('/common/public_icon_off.svg')
  21.           .width(24)
  22.           .height(24)
  23.           .margin({ bottom: 4 })
  24.       }
  25.       Text('Tab')
  26.         .fontColor('#182431')
  27.         .fontSize(10)
  28.         .fontWeight(500)
  29.         .lineHeight(14)
  30.     }.width('100%').height('100%').justifyContent(FlexAlign.Center)
  31.   }
  32.   @Builder itemBuilder(value: string) {
  33.     Row() {
  34.       Image('common/public_icon.svg').width(32).height(32).opacity(0.6)
  35.       Text(value)
  36.         .width(177)
  37.         .height(21)
  38.         .margin({ left: 15, right: 76 })
  39.         .textAlign(TextAlign.Start)
  40.         .fontColor('#182431')
  41.         .fontWeight(500)
  42.         .fontSize(16)
  43.         .opacity(0.9)
  44.       Image('common/public_icon_arrow_right.svg').width(12).height(24).opacity(0.6)
  45.     }.width('100%').padding({ left: 12, right: 12 }).height(56)
  46.   }
  47.   build() {
  48.     Column() {
  49.       Text('dotsBadge').fontSize(18).fontColor('#182431').fontWeight(500).margin(24)
  50.       Tabs() {
  51.         TabContent()
  52.           .tabBar(this.tabBuilder(0))
  53.         TabContent()
  54.           .tabBar(this.tabBuilder(1))
  55.         TabContent()
  56.           .tabBar(this.tabBuilder(2))
  57.         TabContent()
  58.           .tabBar(this.tabBuilder(3))
  59.       }
  60.       .width(360)
  61.       .height(56)
  62.       .backgroundColor('#F1F3F5')
  63.       Column() {
  64.         Text('stringBadge').fontSize(18).fontColor('#182431').fontWeight(500).margin(24)
  65.         List({ space: 12 }) {
  66.           ListItem() {
  67.             Text('list1').fontSize(14).fontColor('#182431').margin({ left: 12 })
  68.           }
  69.           .width('100%')
  70.           .height(56)
  71.           .backgroundColor('#FFFFFF')
  72.           .borderRadius(24)
  73.           .align(Alignment.Start)
  74.           ListItem() {
  75.             Badge({
  76.               value: 'New',
  77.               position: BadgePosition.Right,
  78.               style: { badgeSize: 16, badgeColor: '#FA2A2D' }
  79.             }) {
  80.               Text('list2').width(27).height(19).fontSize(14).fontColor('#182431')
  81.             }.width(49.5).height(19)
  82.             .margin({ left: 12 })
  83.           }
  84.           .width('100%')
  85.           .height(56)
  86.           .backgroundColor('#FFFFFF')
  87.           .borderRadius(24)
  88.           .align(Alignment.Start)
  89.         }.width(336)
  90.         Text('numberBadge').fontSize(18).fontColor('#182431').fontWeight(500).margin(24)
  91.         List() {
  92.           ListItem() {
  93.             this.itemBuilder('list1')
  94.           }
  95.           ListItem() {
  96.             Row() {
  97.               Image('common/public_icon.svg').width(32).height(32).opacity(0.6)
  98.               Badge({
  99.                 count: 1,
  100.                 position: BadgePosition.Right,
  101.                 style: { badgeSize: 16, badgeColor: '#FA2A2D' }
  102.               }) {
  103.                 Text('list2')
  104.                   .width(177)
  105.                   .height(21)
  106.                   .textAlign(TextAlign.Start)
  107.                   .fontColor('#182431')
  108.                   .fontWeight(500)
  109.                   .fontSize(16)
  110.                   .opacity(0.9)
  111.               }.width(240).height(21).margin({ left: 15, right: 11 })
  112.               Image('common/public_icon_arrow_right.svg').width(12).height(24).opacity(0.6)
  113.             }.width('100%').padding({ left: 12, right: 12 }).height(56)
  114.           }
  115.           ListItem() {
  116.             this.itemBuilder('list3')
  117.           }
  118.           ListItem() {
  119.             this.itemBuilder('list4')
  120.           }
  121.         }
  122.         .width(336)
  123.         .height(232)
  124.         .backgroundColor('#FFFFFF')
  125.         .borderRadius(24)
  126.         .padding({ top: 4, bottom: 4 })
  127.         .divider({ strokeWidth: 0.5, color: 'rgba(0,0,0,0.1)', startMargin: 60, endMargin: 12 })
  128.       }.width('100%').backgroundColor('#F1F3F5').padding({ bottom: 12 })
  129.     }.width('100%')
  130.   }
  131. }
复制代码

  示例2

  1. // 该示例实现了Badge组件显隐时缩放
  2. @Entry
  3. @Component
  4. struct Index {
  5.   @State badgeCount: number = 1
  6.   build() {
  7.     Column({ space: 40 }) {
  8.       Badge({
  9.         count: this.badgeCount,
  10.         style: {},
  11.         position: BadgePosition.RightTop,
  12.       }) {
  13.         Image($r("app.media.icon"))
  14.         .width(50)
  15.         .height(50)
  16.       }
  17.       .width(55)
  18.       Button('count 0').onClick(() => {
  19.         this.badgeCount = 0
  20.       })
  21.       Button('count 1').onClick(() => {
  22.         this.badgeCount = 1
  23.       })
  24.     }
  25.     .margin({top: 20})
  26.   }
  27. }
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! 更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

农民

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表