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

鸿蒙 ArkUI - ArkTS 组件 官方 UI组件 合集

ArkUI 组件速查表

鸿蒙应用开发页面上需要实现的 UI 功能组件如果在这 100 多个组件里都找不到,那就需要组合造轮子了

使用技巧:先判断需要实现的组件大方向,比如“选择”、“文本”、“信息”等,或者是某种形状比如“块”、“图”,再去表格里面看看具体作用。标题已装导航,机长,准备起飞。

行列与堆叠

组件名称作用
Flex弹性布局子组件的容器
Column垂直方向布局的容器
Row水平方向布局容器
Stack层叠布局容器
RelativeContainer相对布局容器
FolderStack继承于 Stack(层叠布局)控件,新增了折叠屏悬停能力

栅格与分栏

组件名称作用
GridRow栅格布局容器,仅可以和栅格子组件(GridCol)在栅格布局场景中使用
GridCol栅格子组件,必须作为栅格容器组件(GridRow)的子组件使用
ColumnSplit将子组件纵向布局,并在每个子组件之间插入一根横向的分割线
RowSplit将子组件横向布局,并在每个子组件之间插入一根纵向的分割线
SplitLayout上下结构布局,主要分为上下文本和上下图文两种类型
FoldSplitContainer折叠屏二分栏、三分栏在展开态、悬停态以及折叠态的区域控制
SideBarContainer提供侧边栏可以显示和隐藏的侧边栏容器

滚动与滑动

组件名称作用
List列表布局容器
ListItem用来展示列表具体 item,必须配合 List 来使用
ListItemGroup用来展示列表 item 分组,必须配合 List 组件来使用
Grid网格布局容器,由“行”和“列”分割的单元格所组成
GridItem网格布局容器中单项内容容器
Scroll可滚动的容器,当子组件的布局尺寸超过父组件的时,可以滚动
Swiper滑块视图容器,提供子组件滑动轮播显示的能力
WaterFlow瀑布流容器,由“行”和“列”分割的单元格所组成
FlowItem瀑布流组件的子组件,用来展示瀑布流具体 item
ScrollBar滚动条组件,配合可滚动组件使用,如 List、Grid、Scroll、WaterFlow
Refresh可以进行页面下拉操作并显示刷新动效的容器组件
ComposeListItem列表包含一系列相同宽度的列表项
GridObjectSortComponent网格对象的编辑排序,用于网格对象的编辑、拖动排序、新增和删除
SwipeRefresher内容加载指获取内容并加载出来,常用于衔接展示下拉加载的内容

导航与切换

组件名称作用
Indicator导航点组件,提供圆点导航点以及数字导航点两种导航点样式
Navigation路由导航的根视图容器,一般作为 Page 页面的根容器使用
NavDestination作为子页面的根容器,用于显示 Navigation 的内容区
MultiNavigation用于在大尺寸设备上分栏显示、进行路由跳转
Stepper步骤导航器组件,适用于引导用户按照步骤完成任务的导航场景
StepperItem用作 Stepper 组件的页面子组件
Tabs通过页签进行内容视图切换的容器组件,每个页签对应一个内容视图
TabContent仅在 Tabs 中使用,对应一个切换页签的内容视图

按钮与选择

组件名称作用
Button按钮组件,可快速创建不同样式的按钮
Toggle组件提供勾选框样式、状态按钮样式和开关样式
Checkbox提供多选框组件,通常用于某选项的打开或关闭
CheckboxGroup多选框群组,用于控制多选框全选或者不全选状态
CalendarPicker日历选择器组件,提供下拉日历弹窗,可以让用户选择日期
DatePicker日期选择器组件,用于根据指定日期范围创建日期滑动选择器
TextPicker滑动选择文本内容的组件
TimePicker时间选择组件,根据指定参数创建选择器,支持选择小时及分钟
Radio单选框,提供相应的用户交互选择项
Rating提供在给定范围内选择评分的组件(五星评分)
Select提供下拉选择菜单,可以让用户在多个选项之间选择
Slider滑动条组件,通常用于快速调节设置值,如音量调节、亮度调节等应用场景
DownloadFileButton下载文件按钮,获取到当前应用在 Download 公共目录中所属的存储路径
ProgressButton文本下载按钮,可显示具体下载进度
SegmentButton分段按钮组件,包含页签类分段按钮、单选类分段按钮、多选类分段按钮
Filter多条件筛选,结合具体场景选择合适筛选方式

文本与输入

组件名称作用
Text显示一段文本的组件
TextArea多行文本输入框组件,当输入的文本内容超过组件宽度时会自动换行显示
TextInput单行文本输入框组件
RichEditor支持图文混排和文本交互式编辑的组件
Search搜索框组件,适用于浏览器的搜索内容输入框等应用场景
Span作为 Text、ContainerSpan 组件的子组件,用于显示行内文本的组件
ImageSpanText、ContainerSpan 组件的子组件,用于显示行内图片
ContainerSpanText 组件的子组件,用于统一管理多个 Span、ImageSpan 的背景色及圆角弧度
SymbolSpan作为 Text 组件的子组件,用于显示图标小符号的组件
SymbolGlyph显示图标小符号的组件
Hyperlink超链接组件,组件宽高范围内点击实现跳转
RichText富文本组件,解析并显示 HTML 格式文本
SelectionMenu文本选择菜单,适用于 RichEditor 组件或 Text 组件

图片与视频

组件名称作用
Image图片组件,常用于在应用中显示图片
ImageAnimator提供帧动画组件来实现逐帧播放图片的能力,可以配置需要播放的图片列表
Video用于播放视频文件并控制其播放状态的组件

信息展示

组件名称作用
AlphabetIndexer可以与容器组件联动用于按逻辑结构快速定位容器显示区域的组件
Badge信息标记组件,可以附加在单个组件上用于信息提醒的容器组件
Chip操作块,用于搜索框历史记录或者邮件发送列表等场景
ChipGroupChipGroup 高级组件,提供操作块群组,用于对文件或者资源内容进行分类等场景
Counter计数器组件,提供相应的增加或者减少的计数操作
advanced.CounterCounter 是用于精确调节数值的组件
DataPanel数据面板组件,用于将多个数据占比情况使用占比图进行展示
ExceptionPrompt异常提示,适用于有异常需要提示异常内容的情况
Gauge数据量规图表组件,用于将数据展示为环形图表
LoadingProgress用于显示加载动效的组件
Marquee跑马灯组件,用于滚动展示一段单行文本
PatternLock图案密码锁组件,以九宫格图案的方式输入密码,用于密码验证场景
Progress进度条组件,用于显示内容加载或操作处理等进度
Popup显示特定样式气泡
QRCode用于显示单个二维码的组件
TextClock通过文本将当前系统时间显示在设备上。支持不同时区的时间显示,最高精度到秒级。
TextTimer通过文本显示计时信息并控制其计时器状态的组件
TreeView树视图作为一种分层显示的列表,适合显示嵌套结构

空白与分隔

组件名称作用
Blank空白填充组件,在容器主轴方向上,空白填充组件具有自动填充容器空余部分的能力
Divider提供分隔器组件,分隔不同内容块/内容元素

画布绘制

组件名称作用
Canvas提供画布组件,用于自定义绘制图形
CanvasGradient渐变对象
CanvasPattern指定图像和重复方式创建图片填充的模板
CanvasRenderingContext2D使用 RenderingContext 在 Canvas 组件上进行绘制,可以是矩形、文本、图片等
DrawingRenderingContext在 Canvas 组件上进行绘制,绘制对象可以是矩形、文本、图片等
ImageBitmap存储 canvas 渲染的像素数据,用于高效加载静态或动态图像资源
ImageData存储 canvas 渲染的像素数据,存储原始像素数据
Matrix2D矩阵对象,可以对矩阵进行缩放、旋转、平移等变换
OffscreenCanvas用于自定义绘制图形
OffscreenCanvasRenderingContext2D在 Canvas 上进行离屏绘制,绘制对象可以是矩形、文本、图片等
Path2D路径对象,支持通过对象的接口进行路径的描述,并通过 Canvas 的 stroke 接口或者 fill 接口进行绘制

图形绘制

组件名称作用
Circle用于绘制圆形的组件
Ellipse椭圆绘制组件
Line直线绘制组件
Polyline折线绘制组件
Polygon多边形绘制组件
Path路径绘制组件,根据绘制路径生成封闭的自定义形状
Rect矩形绘制组件
Shape绘制组件的父组件,父组件中会描述所有绘制组件均支持的通用属性

渲染绘制

组件名称作用
XComponent提供用于图形绘制和媒体数据写入的 Surface,XComponent 负责将其嵌入到视图中
Component3D3D 渲染组件,可以加载 3D 模型资源并做自定义渲染,通常用于 3D 动效场景
EmbeddedComponent用于支持在当前页面嵌入本应用内其他 EmbeddedUIExtensionAbility 提供的 UI

标题栏与工具栏

组件名称作用
ComposeTitleBar一种普通标题栏,支持设置标题、头像和副标题,可用于一级页面、二级及其以上界面配置返回键
EditableTitleBar编辑型标题栏,适用于多选界面或者内容的编辑界面,一般采取左叉右勾的形式
SelectTitleBar下拉菜单标题栏包含一个下拉菜单,可用于页面之间的切换;可用于一级页面、二级及其以上界面
TabTitleBar页签型标题栏,用于页面之间的切换。仅一级页面适用
ToolBar具栏用于展示针对当前界面内容的操作选项,在界面底部显示
SubHeader子标题,用于列表项顶部,将该组列表划分为一个区块,子标题名称用来概括该区块内容

菜单

组件名称作用
Menu以垂直列表形式显示的菜单
MenuItem用来展示菜单 Menu 中具体的 item 菜单项
MenuItemGroup该组件用来展示菜单 MenuItem 的分组
ContextMenu在页面范围内关闭通过 bindContextMenu 属性绑定的菜单

动画

组件名称作用
属性动画 (animation)组件的某些通用属性变化时,可以通过属性动画实现渐变过渡效果,提升用户体验
显式动画 (animateTo)提供全局 animateTo 显式动画接口来指定由于闭包代码导致的状态变化插入过渡动效
关键帧动画 (keyframeAnimateTo)在 UIContext 中提供 keyframeAnimateTo 接口来指定若干个关键帧状态,实现分段的动画
页面间转场 (pageTransition)当路由进行切换时,通过在 pageTransition 函数中自定义页面入场和页面退场的转场动效
组件内转场 (transition)通过 transition 属性配置转场参数,在组件插入和删除时显示过渡动效
共享元素转场 (sharedTransition)可以通过设置组件的该属性将该元素标记为共享元素并设置对应的共享元素转场动效
组件内隐式共享元素转场 (geometryTransition)在视图切换过程中提供丝滑的上下文传承过渡
路径动画 (motionPath)设置组件进行位移动画时的运动路径
粒子动画 (Particle)在一定范围内随机生成的大量粒子产生运动而组成的动画
显式动画立即下发 (animateToImmediately)用来提供显式动画立即下发功能。同时加载多个属性动画的情况下,使用该接口可以立即执行闭包代码中状态变化导致的过渡动效

弹窗

组件名称作用
警告弹窗 (AlertDialog)显示警告弹窗组件,可设置文本内容与响应回调
列表选择弹窗 (ActionSheet)列表弹窗
自定义弹窗 (CustomDialog)显示自定义弹窗。使用弹窗组件时,可优先考虑自定义弹窗,便于自定义弹窗的样式与内容
日历选择器弹窗 (CalendarPickerDialog)点击日期弹出日历选择器弹窗,可选择弹窗内任意日期
日期滑动选择器弹窗 (DatePickerDialog)根据指定的日期范围创建日期滑动选择器,展示在弹窗上
时间滑动选择器弹窗 (TimePickerDialog)以 24 小时的时间区间创建时间滑动选择器,展示在弹窗上
文本滑动选择器弹窗 (TextPickerDialog)根据指定的选择范围创建文本选择器,展示在弹窗上
弹出框 (Dialog)一种模态窗口,用于在保持当前的上下文环境时,临时展示用户需关注的信息或待处理的操作,用户在模态弹出框内完成上述交互任务

卡片

组件名称作用
FormLink提供静态卡片交互组件,用于静态卡片内部和提供方应用间的交互,当前支持 router、message 和 call 三种类型的事件
FormMenu支持应用内长按菜单快捷添加卡片到桌面

安全

组件名称作用
PasteButton安全控件的粘贴按钮,用户通过点击该粘贴按钮,可以临时获取读取剪贴板权限
SaveButton安全控件的保存控件,用户通过点击该保存按钮,可以临时获取存储权限,而不需要权限弹框授权确认

主题

组件名称作用
WithTheme用于设置应用局部页面自定义主题风格,可设置子组件深浅色模式和自定义配色

原子化服务

组件名称作用
AtomicServiceNavigation作为 Page 页面的根容器使用,其内部默认包含了标题栏、内容区,其中内容区默认首页显示导航内容或非首页显示(NavDestination 的子组件),首页和非首页通过路由进行切换
AtomicServiceTabsAtomicServiceTabs 高级组件,对 Tabs 组件一些不需提供给用户自定义设计的属性进行简化,限制最多显示 5 个页签,固定页签样式,位置和大小
AtomicServiceWeb为开发者提供满足定制化诉求的 Web 高阶组件,屏蔽原生 Web 组件中无需关注的接口,并提供 JS 扩展能力
InterstitialDialogActionInterstitialDialogAction 弹框在元服务中用于在保持当前的上下文环境时,临时展示用户需关注的信息或待处理的操作,用户点击弹框的不同区域可以触发相应的动作
FullScreenLaunchComponent全屏启动元服务组件,当被拉起方授权使用方可以嵌入式运行元服务时,使用方全屏嵌入式运行元服务;未授权时,使用方跳出式拉起元服务
NavPushPathHelper当跳转的目标 NavDestination 在不同的 hsp 分包,且未被主包依赖,首次运行元服务只会下载安装主包,需要使用 NavPushPathHelper 先下载安装相应 hsp 分包,再将指定的 NavDestination 页面信息入栈。使 Navigation 支持动态加载 hsp 分包后再跳转

自定义占位组件

组件名称作用
NodeContainer基础组件,不支持尾随添加子节点。组件接受一个 NodeController 的实例接口。需要 NodeController 组合使用
ContentSlot用于渲染并管理 Native 层使用 C-API 创建的组件

相关文章:

鸿蒙 ArkUI - ArkTS 组件 官方 UI组件 合集

ArkUI 组件速查表 鸿蒙应用开发页面上需要实现的 UI 功能组件如果在这 100 多个组件里都找不到,那就需要组合造轮子了 使用技巧:先判断需要实现的组件大方向,比如“选择”、“文本”、“信息”等,或者是某种形状比如“块”、“图…...

LLM笔记(三)位置编码(1)

位置编码理论与应用 1. 位置编码如何解决置换不变性及其数学表现 在Transformer模型中,自注意力机制(Self-Attention)具有置换不变性(permutation invariance),这意味着对输入序列的词元(toke…...

麒麟v10 部署 MySQL 5.6.10 完整步骤

需要包的私信我 一、安装依赖(Perl环境) # 在线安装依赖 yum -y install perl perl-devel# 离线安装(需提前下载好rpm包) mkdir /data/ybn/soft/pre yum install --downloadonly --downloaddir/data/ybn/soft/pre perl perl-dev…...

Git-学习笔记(粗略版)

前言 很多人都听过git,github这些名词,但是它们是什么,怎么使用?git和github是一个东西吗?本文将详细解答这些问题,彻底弄懂git。 1.Git是啥❓ 有一天,我们的插画师小王接到一个绘画订单,但奈…...

专项智能练习(定义判断)

1. 单选题 热传导是介质内无宏观运动时的传热现象,其在固体、液体和气体中均可发生。但严格而言,只有在固体中才是纯粹的热传导,在流体(泛指液体和气体)中又是另外一种情况,流体即使处于静止状态&#xff…...

失控的产品

大部分程序员很难有机会做一个新的产品,绝大多时候去一家新公司也都是在旧产品上修修补补。 笔者还是很幸运得到了开发新品的机会,从2023年开始做,中间经历了许多磕磕碰碰。 有的小伙伴从中离开,偶尔又加入1~2个人,但…...

【iOS安全】Dopamine越狱 iPhone X iOS 16.6 (20G75) | 解决Jailbreak failed with error

Dopamine越狱 iPhone X iOS 16.6 (20G75) Dopamine兼容设备 参考:https://www.bilibili.com/opus/977469285985157129 A9 - A11(iPhone6s-X):iOS15.0-16.6.1 A12-A14(iPhoneXR-12PM&#xf…...

无线定位之 二 SX1302 网关源码 thread_down 线程详解

前言 笔者计划通过无线定位系列文章、系统的描述 TDOA 无线定位和混合定位相关技术知识点, 并以实践来验证此定位系统精度。 笔者从实践出发、本篇直接走读无线定位系统关键节点、网关 SX1302 源码框架,并在源码走读过程 中、着重分析与无线定位相关的PPS时间的来龙去脉、并在…...

对心理幸福感含义的探索 | 幸福就是一切吗?

注:机翻,未校。 Happiness Is Everything, or Is It? Explorations on the Meaning of Psychological Well-Being 幸福就是一切吗?对心理幸福感含义的探索 Journal of Personality and Social Psychology 1989, Vol. 57, No. 6,1069-1081 …...

多平台图标设计与管理的终极解决方案

IconWorkshop Pro 是一款由Axialis团队开发的专业图标设计与制作软件,专注于为设计师、开发者及企业用户提供高效且灵活的图标创作解决方案。该软件凭借其强大的功能与跨平台适配性,成为Windows、macOS、iOS、Android等多系统图标设计的首选工具之一。 …...

ngx_http_keyval_module动态键值管理

一、模块安装与验证 检查模块是否可用 nginx -V 2>&1 | grep --color -o ngx_http_keyval_module如果看到 ngx_http_keyval_module,说明模块已编译进 NGINX。 若未找到,请联系你的 NGINX 供应商,获取商业版或重新编译并启用该模块&am…...

【高频面试题】LRU缓存

文章目录 1 相关前置知识(OS)2 面试题 16.25. LRU 缓存2.1 题面2.2 示例2.3 解法1 (双端队列哈希表)思路 2.4 解法2思路 3 参考 1 相关前置知识(OS) 为什么需要页面置换算法:当进程运行时&…...

讯联云库项目开发日志(二)AOP参数拦截

目录 利用AOP实现参数拦截: 一、​​HTTP请求进入Controller​(发送邮件验证码) 二、AOP切面触发 1. 切面拦截(GlobalOperactionAspect.class) method.getAnnotation()​​ null interceptor 判断​​ 2.参数校验注解 3. 参…...

龙虎榜——20250515

上证指数缩量收阴线,个股跌多涨少,上涨波段4月9日以来已有24个交易日,时间周期上处于上涨末端,注意风险。 深证指数缩量收阴线,日线上涨结束的概率在增大,注意风险。 2025年5月15日龙虎榜行业方向分析 一…...

知识图谱重构电商搜索:下一代AI搜索引擎的底层逻辑

1. 搜索引擎的进化论 从雅虎目录式搜索到Google的PageRank算法,搜索引擎经历了三次技术跃迁。而AI搜索引擎正在掀起第四次革命:在电商场景中,传统的「关键词匹配」已无法满足个性化购物需求,MOE搜索等新一代架构开始融合知识图谱…...

python-修改图片背景色

在Python中,可以使用图像处理库(如OpenCV或Pillow)来修改图片的背景色。通常,修改背景色的流程包括以下步骤: 1、对图片进行分割,识别前景和背景。 2、对背景区域进行颜色替换。 下面是两种实现方法&#x…...

卡洛诗,将高端西餐的冗余价值转化为普惠体验

西餐市场正经历一场结构性变革,一二线城市的高端西餐陷入内卷,而下沉市场却因品质与价格断层陷入选择困境——消费者既不愿为高价西餐的面子溢价买单,又难以忍受快餐式西餐的粗糙体验。这一矛盾催生了万亿级的市场真空地带,萨莉亚…...

【ROS2】ROS节点启动崩溃:rclcpp::exceptions::RCLInvalidArgument

1、问题描述 启动ROS节点时,直接崩溃,打印信息如下: terminate called after throwing an instance of rclcpp::exceptions::RCLInvalidArgumentwhat(): failed to create guard condition: context argument is null, at ./src/rcl/guard_condition.c:65 [ros2run]: Abo…...

Flutter在键盘的上方加一个完成按钮

有些情况下,输入框在输入键盘弹出后, 需要在键盘的上方显示一个toolbar , 然后 toolbar 上面一个完成按钮,点完成按钮把键盘关闭。 如图: 直接上代码,这样写的好处是,把 TextField 给封装了&…...

SQL注入---05--跨站注入

1 权限说明 select * from mysql.user; 这里的Y表示我前面的命令权限为root,n表示不支持root权限 导致结果: 如果为root的话,我就可操作这些命令并且可以进行跨数据库攻击,但是如果不是高权限root就无法执行这些操作 2 root权限…...

Vue 学习随笔系列二十三 -- el-date-picker 组件

el-date-picker 组件 文章目录 el-date-picker 组件el-date-picker 只有某些日期可选 el-date-picker 只有某些日期可选 <template><div><el-form ref"form" size"mini":model"form" :rules"rules"label-width"8…...

【免费分享】虚拟机VM(适用于 Windows)17.6.3

—————【下 载 地 址】——————— 【​本章下载一】&#xff1a;https://drive.uc.cn/s/7c4da5cd2af64 【​本章下载二】&#xff1a;https://pan.xunlei.com/s/VOQDkRRKc5OUVTauZezaiDEHA1?pwdpybg# 【百款黑科技】&#xff1a;https://ucnygalh6wle.feishu.cn/wiki/…...

Oracle中的select1条、几条、指定范围的语句

在Oracle中&#xff0c;可以使用不同的方法来选择一条记录、多条记录或指定范围内的记录。以下是具体的实现方式&#xff1a; 1. 查询单条记录 使用ROWNUM伪列限制结果为1条&#xff1a; SELECT * FROM your_table WHERE ROWNUM 1;特点&#xff1a;Oracle会在结果集生成时分…...

2025 后端自学UNIAPP【项目实战:旅游项目】5、个人中心页面:微信登录,同意授权,获取用户信息

一、框架以及准备工作 1、前端项目文件结构展示 2、后端项目文件结构展示 3、登录微信公众平台&#xff0c;注册一个个人的程序&#xff0c;获取大appid&#xff08;前端后端都需要&#xff09;和密钥&#xff08;后端需要&#xff09; 微信公众平台微信公众平台&…...

校园网规划与设计方案

一、项目概述 校园网是学校实现信息化教学、科研与管理的重要基础设施,其性能与稳定性直接影响学校的整体发展。随着学校规模不断扩大、教学科研活动日益丰富,对校园网的带宽、可靠性、安全性以及智能化管理等方面提出了更高要求。本规划与设计方案旨在构建一个高速、稳定、…...

蓝桥杯算法题 -蛇形矩阵(方向向量)

&#x1f381;个人主页&#xff1a;工藤新一 &#x1f50d;系列专栏&#xff1a;C面向对象&#xff08;类和对象篇&#xff09; &#x1f31f;心中的天空之城&#xff0c;终会照亮我前方的路 &#x1f389;欢迎大家点赞&#x1f44d;评论&#x1f4dd;收藏⭐文章 文章目录 P…...

配置VScodePython环境Python was not found;

Python was not found; run without arguments to install from the Microsoft Store, or disable this shortcut from Settings > Manage App Execution Aliases. 候试试重启电脑。 在卸载重装python后会出现难以解决的局面&#xff0c;系统变量&#xff0c;命令行&#…...

ollama 重命名模型

ollama 重命名模型 ollama list# 查看列表 ollama list # 生成原模型的Modelfile文件 ollama show --modelfile qwen3:32b > Modelfile # 从Modelfile文件创建新的模型 ollama create qwen3 -f Modelfile # 删除原模型 ollama rm qwen3:32b...

Qt信号槽机制与UI设计完全指南:从基础原理到实战应用

目录 前言一、信号槽1.1 传参1.2 Qt信号与槽的对应关系1.2.1一对多关系1.2.2 多对一关系 二、Designer三、Layout 布局3.1 基础用法3.2 打破布局3.3 贴合窗口3.4 伸展器&#xff08;Spacer&#xff09;3.5 嵌套布局 四、ui指针五、QWidget六、QLabel 标签使用指南总结 前言 本…...

Anaconda环境中conda与pip命令的区别

文章目录 conda与pip的基本区别在Anaconda环境中的实际差异安装包环境管理依赖解决示例最佳实践建议 常见问题解答 conda与pip的基本区别 包来源与生态系统 conda&#xff1a;从Anaconda默认仓库或conda-forge等渠道获取包 不仅管理Python包&#xff0c;还能管理非Python依赖&…...