当前位置: 首页 > ops >正文

鸿蒙UI开发——badge角标的使用

1、概 述

badge小红点角标是我们项目开发中常见的需求,信息标记组件,可以附加在单个组件上用于信息提醒的容器组件。效果如下:

图片

2、Badge

接口定义如下:

👉🏻 根据数字创建标记组件;

Badge(value: BadgeParamWithNumber)

效果如下:

图片

👉🏻 根据字符串创建标记组件。

Badge(value: BadgeParamWithString)

效果如下:

图片

其中BadgeParamWithNumber与BadgeParamWithString都继承自BadgeParam,BadgeParam属性定义如下:

名称

类型

说明

position

Position

设置提示点显示位置。默认值:BadgePosition.RightTop

说明:Position作为入参,不支持设置百分比;设置为非法值时,默认(0,0)处理。(0,0)为组件左上角位置。

style

BadgeStyle

Badge组件可设置样式,支持设置文本颜色、尺寸、圆点颜色和尺寸。

其中,Position是枚举,定义如下:

RightTop = 0 // 圆点显示在右上角。Right = 1 // 圆点显示在右侧纵向居中。Left = 2 // 圆点显示在左侧纵向居中。

BadgeStyle定义如下:

名称

类型

说明

color

ResourceColor

文本颜色。默认值:Color.White

fontSize

number | string

文本大小。默认值:10单位:fp

说明:不支持设置百分比。

badgeSize

number | string

Badge的大小。默认值:16单位:vp

说明:不支持设置百分比。当设置为非法值时,按照默认值处理。

badgeColor

ResourceColor

Badge的颜色。默认值:Color.Red

fontWeight

number |FontWeight | string

设置文本的字体粗细。默认值:FontWeight.Normal

说明:不支持设置百分比。

borderColor

ResourceColor

底板描边颜色。默认值:Color.Red

borderWidth

Length

底板描边粗细。默认值:1单位:vp

说明:不支持设置百分比。

3、案 例

由于BadgeParamWithNumber与BadgeParamWithString的区别只是显示的是数字还是字符串,因此以数字做简单示例。

演示效果如下(角标数值为0时,将不会显示角标):

图片

代码如下(8 ~ 12行):​​​​​​​

// 该示例实现了Badge组件显隐时缩放@Entry@Componentstruct Index {  @State badgeCount: number = 0  build() {    Column({ space: 40 }) {      Badge({        count: this.badgeCount,        style: {},        position: BadgePosition.RightTop,      }) {        Image($r("app.media.startIcon"))          .width(50)          .height(50)      }      .width(55)      Button('增加count').onClick(() => {        this.badgeCount++;      })    }    .margin({ top: 20 })    .width('100%')  }}
http://www.xdnf.cn/news/8568.html

相关文章:

  • 从神经生物学到社会心理学:游戏沉迷机制的深度解构
  • Jest入门
  • 利用 XML 外部实体注入(XXE)读取文件和探测内部网络
  • redis缓存实战-19(使用 Pub/Sub 构建简单的聊天应用程序)
  • C++:整数奇偶排序
  • iOS知识复习
  • 项目中使用到了多个UI组件库,也使用了Tailwindcss,如何确保新开发的组件样式隔离?
  • linux debug技术
  • 设计模式 - 模板方法模式
  • 教育信息化2.0时代下学校网络安全治理:零信任架构的创新实践与应用
  • 《Java vs Go vs C++ vs C:四门编程语言的深度对比》
  • 第十六章:数据治理之数据架构:数据模型和数据流转关系
  • 【R语言科研编程-散点图】
  • C++ STL6大组件
  • mac 安装 mysql 和 mysqlshell
  • (17) 关于工具箱 QToolBox 的一个简单的范例使用,以了解其用法
  • 详解最长公共子序列问题
  • 【每日一题】【前缀和优化】【前/后缀最值】牛客练习赛139 B/C题 大卫的密码 (Hard Version) C++
  • Git研究
  • Anthropic推出Claude Code SDK,强化AI助理与自动化开发整合
  • 微信小程序调试
  • Python实例题:人机对战初体验Python基于Pygame实现四子棋游戏
  • CSS专题之flex: 1常见问题
  • 事务基础概念
  • 抽象类、普通类和接口的区别详细讲解(面试题)
  • Maven 中央仓库操作指南
  • Baklib构建企业CMS高效协作与安全管控体系
  • 开源视频监控前端界面MotionEye
  • Java基础 Day19
  • python web开发-Flask模板引擎Jinja2完全指南