HarmonyOS开发实战:小分享-ArkUI 基础组件详解——Text、Button、Image
2026/7/24 18:42:50 网站建设 项目流程

前言

TextButtonImage是 ArkUI 最基础的三大组件,几乎每个页面都离不开它们。小分享 App 大量使用了这些组件。本篇集中讲解它们的核心属性和常见用法。详细 API 可参考 HarmonyOS Text 官方文档。

一、Text 组件

1.1 基本用法

Text('小分享').fontSize(20).fontWeight(FontWeight.Bold).fontColor('#1A1A1A')

1.2 Text 常用属性

属性作用示例
fontSize字号20
fontWeight字重FontWeight.Bold
fontColor颜色'#1A1A1A'
textAlign对齐TextAlign.Center
maxLines最大行数1
textOverflow溢出处理TextOverflow.Ellipsis
lineHeight行高28
letterSpacing字间距2

1.3 文字省略

Text(item.title).maxLines(1).textOverflow({overflow:TextOverflow.Ellipsis})

二、Button 组件

2.1 基本用法

Button('小分享').fontSize(16).fontColor(Color.White).backgroundColor('#F5A623').width('60%').height(48).borderRadius(24).onClick(()=>{router.replaceUrl({url:'pages/HomePage'})})

2.2 Button 常用属性

属性作用示例
width宽度'90%'/200
height高度48
backgroundColor背景色'#F5A623'
borderRadius圆角24
fontSize字号16
fontColor文字颜色Color.White
onClick点击事件() => {}

2.3 透明按钮

Button('退出登录').fontSize(16).fontColor('#F44336').backgroundColor(Color.Transparent).width('100%').height(48).borderRadius(12)

三、Image 组件

3.1 基本用法

Image($r('app.media.app_icon')).width(64).height(64).borderRadius(32).objectFit(ImageFit.Cover)

3.2 Image 常用属性

属性作用示例
width宽度64
height高度64
borderRadius圆角32
objectFit填充模式ImageFit.Cover
src图片来源资源/网络/本地

3.3 三种图片来源

// 1. 资源文件Image($r('app.media.app_icon'))// 2. 网络图片Image('https://example.com/image.png')// 3. 本地文件Image('/data/storage/el2/base/haps/entry/files/image.png')

四、Text、Button、Image 对比

组件用途核心属性
Text文字展示fontSize, fontColor, textAlign
Button点击操作backgroundColor, borderRadius, onClick
Image图片展示objectFit, src

五、本文核心知识点

5.1 基础组件核心要点

  1. Text:字数限制、溢出省略、行高
  2. Button:圆角、背景色、点击事件
  3. Image:三种图片来源、填充模式

5.2 实战开发要点

  • 文字溢出用 maxLines + textOverflow
  • 按钮圆角 = 高度/2 时为胶囊形
  • 图片资源用 $r 引用

相关资源

  • HarmonyOS Text 官方文档
  • HarmonyOS Button 组件
  • HarmonyOS Image 组件
  • 开源鸿蒙跨平台社区

附录:基础组件的完整实现细节

1. Text 组件完整属性

属性作用示例
fontSize字号20
fontWeight字重FontWeight.Bold
fontColor颜色'#1A1A1A'
textAlign对齐TextAlign.Center
maxLines最大行数1
textOverflow溢出处理TextOverflow.Ellipsis
lineHeight行高28
letterSpacing字间距2

2. Button 组件完整属性

Button('小分享').fontSize(16).fontColor(Color.White).backgroundColor('#F5A623').width('60%').height(48).borderRadius(24).onClick(()=>{router.replaceUrl({url:'pages/HomePage'})})

3. Image 组件完整用法

// 资源文件Image($r('app.media.app_icon')).width(64).height(64).borderRadius(32).objectFit(ImageFit.Cover)// 网络图片Image('https://example.com/image.png').width('100%').height(200).objectFit(ImageFit.Cover)// 本地文件Image('/data/storage/el2/base/haps/entry/files/image.png')

4. 三种图片来源

来源语法示例
资源文件$r('app.media.xxx')应用内置图标
网络图片URL 字符串在线图片
本地文件文件路径沙箱文件

5. 完整代码文件索引

文件路径说明
所有页面文件使用 Text/Button/Image

6. 总结

本文详细讲解了 ArkUI 三大基础组件 Text、Button、Image 的完整属性和用法。


相关资源

  • HarmonyOS Text 官方文档:Text Reference
  • HarmonyOS Button 组件:Button Reference
  • HarmonyOS Image 组件:Image Reference
  • HarmonyOS 图片加载:Image Loading
  • HarmonyOS 资源管理:Resource Management
  • HarmonyOS 样式指南:Styling Guide
  • HarmonyOS 文字溢出:Text Overflow
  • 开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net

  • ArkUI 表单组件

本文涉及的所有 API 索引

API类别用途
Column布局容器垂直排列子组件
Row布局容器水平排列子组件
Text基础组件显示文本
ForEach渲染控制循环渲染列表
@State装饰器组件内状态管理
@Builder装饰器封装可复用 UI 片段
router.pushUrl路由页面跳转
router.back路由返回上一页

总结

本文详细讲解了小分享 App 中对应页面的完整实现。核心知识点涵盖布局容器、组件封装、状态管理、路由跳转等关键技术。通过本文的学习,读者可以掌握 HarmonyOS ArkUI 声明式开发的核心技能,并能够独立实现类似的页面功能。


相关资源

  • HarmonyOS 官方文档:https://developer.huawei.com/consumer/cn/doc/
  • ArkTS 语法指南:ArkTS Introduction
  • 状态管理指南:State Management
  • ArkUI 组件参考:ArkUI Components
  • 路由 API:Router API
  • 开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net

6. Text 组件完整用法

// 基本文字Text('小分享').fontSize(20).fontWeight(FontWeight.Bold).fontColor('#1A1A1A')// 多行文字省略Text(item.title).maxLines(1).textOverflow({overflow:TextOverflow.Ellipsis})// 行高设置Text('正文内容').fontSize(14).fontColor('#666666').lineHeight(28)// 对齐方式Text('居中标题').fontSize(18).textAlign(TextAlign.Center).width('100%')

7. Button 组件完整用法

// 主按钮 - 胶囊形Button('小分享').fontSize(16).fontColor(Color.White).backgroundColor('#F5A623').width('60%').height(48).borderRadius(24)// 透明按钮 - 红色文字Button('退出登录').fontSize(16).fontColor('#F44336').backgroundColor(Color.Transparent).width('100%').height(48).borderRadius(12)// 功能按钮 - 使用此模板Button('使用此模板').fontSize(16).fontColor(Color.White).backgroundColor('#F5A623').width('90%').height(48).borderRadius(24).margin({bottom:20})

8. Image 组件完整用法

// 资源图片Image($r('app.media.app_icon')).width(64).height(64).borderRadius(32).objectFit(ImageFit.Cover)// 网络图片Image('https://example.com/image.png').width('100%').height(200).objectFit(ImageFit.Cover)// 本地文件图片Image('/data/storage/el2/base/haps/entry/files/image.png')

9. 三种图片来源对比

来源语法示例适用场景
资源文件$r('app.media.xxx')应用内置图标固定图标、启动图
网络图片URL 字符串在线图片 URL用户头像、内容图
本地文件文件路径沙箱文件路径用户拍摄的照片

10. 小分享 App 中的使用

组件使用场景示例
Text标题、正文、标签所有页面的文字
Button操作按钮、分享按钮导航栏、底部按钮
Image图片展示头像、预览图、Banner

11. 完整代码文件索引

文件路径说明
所有页面文件使用 Text/Button/Image

12. 本文涉及的所有 API

API/组件用途文档链接
Text文本组件Text
Button按钮组件Button
Image图片组件Image
ImageFit图片填充模式Image
TextOverflow文字溢出处理Text
TextAlign文字对齐Text
FontWeight字重Text

13. 实现要点总结

基础组件核心要点:

  1. Text:支持 fontSize、fontWeight、fontColor、textAlign、maxLines、textOverflow、lineHeight 等属性
  2. Button:支持 backgroundColor、borderRadius、fontSize、fontColor、onClick 等属性
  3. Image:支持三种图片来源(资源、网络、本地),objectFit 控制填充模式

14. 总结

本文详细讲解了 ArkUI 三大基础组件 Text、Button、Image 的完整属性和用法。


相关资源

  • HarmonyOS Text 官方文档:Text Reference
  • HarmonyOS Button 组件:Button Reference
  • HarmonyOS Image 组件:Image Reference
  • HarmonyOS 图片加载:Image Loading
  • HarmonyOS 资源管理:Resource Management
  • HarmonyOS 样式指南:Styling Guide
  • HarmonyOS 文字溢出:Text Overflow
  • 开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net

  • ArkUI 表单组件

  • @Builder 与 @Component 对比

  • ArkUI 表单组件


  • @Builder 与 @Component 对比

  • ArkUI 表单组件


  • @Builder 与 @Component 对比

  • ArkUI 表单组件


  • @Builder 与 @Component 对比

如果这篇文章对你有帮助,欢迎点赞👍、收藏⭐、关注🔔,你的支持是我持续创作的动力!

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询