鸿蒙5.0开发进阶:UI框架-ArkTS组件(ComposeTitleBar)

鸿蒙5.0版开发:ArkTS组件-ComposeTitleBar 一种普通标题栏,支持设置标题、头像(可选)和副标题(可选),可用于一级页面、二级及其以上界面配置返回键。 阅读详情

往期鸿蒙5.0全套实战文章必看:(文中附带全栈鸿蒙5.0学习资料)


ComposeTitleBar

一种普通标题栏,支持设置标题、头像(可选)和副标题(可选),可用于一级页面、二级及其以上界面配置返回键。

说明

该组件从API Version 10开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。

导入模块

import { ComposeTitleBar } from '@kit.ArkUI'

子组件

无

属性

不支持通用属性

ComposeTitleBar

ComposeTitleBar({item?: ComposeTitleBarMenuItem, title: ResourceStr, subtitle?: ResourceStr, menuItems?: Array<ComposeTitleBarMenuItem>})

装饰器类型:@Component

元服务API: 从API version 11开始,该接口支持在元服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

参数:

名称参数类型必填说明
itemComposeTitleBarMenuItem否用于左侧头像的单个菜单项目。
titleResourceStr是标题。
subtitleResourceStr否副标题。
menuItemsArray<ComposeTitleBarMenuItem>否右侧菜单项目列表。

说明

入参对象不可为undefined,即ComposeTitleBar(undefined)。

ComposeTitleBarMenuItem

元服务API: 从API version 11开始,该接口支持在元服务中使用。

名称类型必填说明
valueResourceStr是图标资源。
isEnabledboolean否

是否启用,默认禁用。

isEnabled为true时,表示为启用。

isEnabled为false时,表示为禁用。

item属性不支持触发isEnabled属性。

action() => void否触发时的动作闭包,item属性不支持触发action事件。

事件

不支持通用事件

示例

该示例实现了简单的标题栏,带有返回箭头的标题栏和带有右侧菜单项目列表的标题栏。

import { ComposeTitleBar, promptAction, ComposeTitleBarMenuItem } from '@kit.ArkUI'

@Entry
@Component
struct Index {
  //定义右侧菜单项目列表
  private menuItems: Array<ComposeTitleBarMenuItem> = [
    {
      //菜单图片资源
      value: $r('sys.media.ohos_save_button_filled'),
      //启用图标
      isEnabled: true,
      //点击菜单时触发事件
      action: () => promptAction.showToast({ message: "show toast index 1" })
    },
    {
      value: $r('sys.media.ohos_ic_public_copy'),
      isEnabled: true,
      action: () => promptAction.showToast({ message: "show toast index 1" })
    },
    {
      value: $r('sys.media.ohos_ic_public_edit'),
      isEnabled: true,
      action: () => promptAction.showToast({ message: "show toast index 1" })
    },
    {
      value: $r('sys.media.ohos_ic_public_remove'),
      isEnabled: true,
      action: () => promptAction.showToast({ message: "show toast index 1" })
    },
  ]

  build() {
    Row() {
      Column() {
        //分割线
        Divider().height(2).color(0xCCCCCC)
        ComposeTitleBar({
          title: "标题",
          subtitle: "副标题",
          menuItems: this.menuItems.slice(0, 1),
        })
        Divider().height(2).color(0xCCCCCC)
        ComposeTitleBar({
          title: "标题",
          subtitle: "副标题",
          menuItems: this.menuItems.slice(0, 2),
        })
        Divider().height(2).color(0xCCCCCC)
        ComposeTitleBar({
          title: "标题",
          subtitle: "副标题",
          menuItems: this.menuItems,
        })
        Divider().height(2).color(0xCCCCCC)
        //定义带头像的标题栏
        ComposeTitleBar({
          menuItems: [{ isEnabled: true, value: $r('sys.media.ohos_save_button_filled'),
            action: () => promptAction.showToast({ message: "show toast index 1" })
          }],
          title: "标题",
          subtitle: "副标题",
          item: { isEnabled: true, value: $r('sys.media.ohos_app_icon') }
        })
        Divider().height(2).color(0xCCCCCC)
      }
    }.height('100%')
  }
}

体验一下使用 ArkUI 进行 HarmonyOS 开发并与 Compose 简单对比 经过上述的简单了解,我们可以发现,其实不管是 Android 的 Jetpack Compose 还是 Apple 的 SwiftUI 还是刚才说的鸿蒙的 ArtUI,其实核心思想都是差不多的(毕竟都是声明式 UI 的思想),对于我们普通程序员来说写起来也是差不多的感觉,无非是语法和部分风格上略微有区别。另外前言中说的事件既是段子也是一部分现实,但是还是希望各位能弄清楚自己的定位,有一个明确的规划,不要东一榔头西一棒子的看见啥有热度就学啥。当然,有余力的话多了解了解其他技术还是挺有帮助的。 阅读详情

相关推荐

Jetpack Compose之学习前的准备~

不少传统视图控件在Compose中没有对应的Composable实现,例如SurfaceView、WebView等。因此在Compose中可能会有使用传统View控件的需求。Compose提供了名为AndroidView的Composable组件,允许在Composable中插入任意基于继承自View的传统视图控件。) {可以看到Compose并没有完全撇弃View这一套,而是逐步在升级过渡,也让大家使用没有后顾之忧。为了帮助大家更好的熟知Jetpack Compose 这一套体系的知识点,

maniuT的博客 827

鸿蒙API13开发【标题栏与工具栏之ComposeTitleBar】ArkTS组件

一种普通标题栏,支持设置标题、头像(可选)和副标题(可选),可用于一级页面、二级及其以上界面配置返回键。

鸿蒙的技术博客 551

鸿蒙HarmonyOS 开发通过 @BuilderParam装饰器:引用@Builder函数实现自定义标题栏

Harmony @BuilderParam装饰器:引用@Builder函数

qq_30675311的博客 478

鸿蒙Harmony应用开发—ArkTS-高级组件:@ohos.arkui.advanced.ComposeTitleBar(头像和单双行文本标题栏)

一种普通标题栏,支持设置标题、头像(可选)和副标题(可选),可用于一级页面、二级及其以上界面配置返回键。

m0_64420071的博客 1669

PDF与OFD电子发票解析技术实战:从格式转换到精准识别

本文深入探讨了PDF与OFD电子发票解析技术的实战应用,从格式转换到精准识别,提供了全面的解决方案。通过OFD转PDF技术、动态定位算法和多重校验机制,显著提升电子发票识别效率与准确率,助力企业财务数字化转型。

weixin_42565652的博客 167

大语言模型在构建UNSPSC 分类数据中的应用

UNSPSC 是联合国标准产品和服务代码。本文研究如何利用大语言模型生成分类系统的分析

姚家湾博客 1892

鸿蒙5.0版开发:ArkTS高级组件-@ohos.arkui.advanced.ComposeTitleBar (头像和单双行文本标题栏)

一种普通标题栏,支持设置标题、头像(可选)和副标题(可选),可用于一级页面、二级及其以上界面配置返回键。

m0_69424697的博客 902

S32DS IDE调试技巧:如何用Attach功能高效定位汽车电子MCU的Bootloader问题

本文详细介绍了在汽车电子MCU开发中,如何利用S32DS IDE的Attach调试模式高效定位Bootloader与应用程序的协同问题。通过对比常规调试与Attach模式的本质差异,并深入讲解工程配置、镜像合并及实战调试流程,帮助开发者在不复位、不重新下载程序的前提下,实时分析系统状态,快速解决内存映射冲突、中断向量表重定向等疑难杂症。

weixin_29168393的博客 273

关于HarmonyOS Next中标题栏组件ComposeTitleBar的使用方法

除了基本的左右按钮和标题外,ComposeTitleBar还支持高度自定义。你可以通过设置不同的属性来实现各种复杂的布局和样式。例如,你可以自定义左侧视图、右侧视图以及居中视图的内容和样式。@BuilderRow() {Text('返回')message: "点击了左侧自定义视图",});});@BuilderRow() {Text('更多')message: "点击了右侧自定义视图",});});@BuilderRow() {Text('居中')

Lin_Zhong_的博客 585

VMware player桥接模式不能联网的解决方法

VMware虚拟机下主要使用两种网络连接方式:桥接模式、NAT模式。 桥接模式:查一下,虚拟机独立IP。 NAT模式:与电脑共享IP、需要映射应用服务的端口。 我的需求需要独立IP,于是使用桥接。 网络连接失败。 个人主机系统的网络设置: 设置 - 网络和 Internet - 更改适配器设置 给虚拟机设置网络适配器 只保留,点击确定,确定。 重新运行虚拟机。 ...

Mark_md的博客 9450

基于POD和神经网络的多工况温度场重构反演系统

本文提出了一种基于本征正交分解(POD)和神经网络的多工况温度场重构反演系统。该系统通过POD方法从多工况温度场数据中提取主要特征模态,构建神经网络模型建立工况参数与POD模态系数的映射关系,实现温度场的快速重构。系统采用Python实现,包含数据预处理、POD分解、神经网络训练和温度场重构等模块。实验结果表明,该方法能够有效降低计算复杂度,实现高精度的温度场预测。

huanghm88的专栏 277

HarmonyOS:ComposeTitleBar 组件自学指南

在日常的鸿蒙应用开发工作中,我们常常会面临构建美观且功能实用的用户界面的挑战。而标题栏作为应用界面的重要组成部分,它不仅承载着展示页面关键信息的重任,还能为用户提供便捷的操作入口。最近在参与的一个项目里,我就深深体会到了选择合适的标题栏组件对于提升用户体验的关键作用。当时,团队对于标题栏有着多样化的需求,既要简洁明了地呈现页面主题,又要能灵活地配置菜单选项以满足不同场景下的交互操作。

李游的博客 1456

通过情感分类实例 详细介绍如果借助Huggingface平台 完成Transformers模型运行(包括配置环境-tokenizer-Model-输出头-预测)

attention_mask和padding是配套使用的,当人为去修改padding的时候,也要把attention_mask里面的参数进行修改。下载Huggingface包,Huggingface可以说是一个社区,集成了很多nlp的模型、数据集、预训练权重文件等等,并且免费,只需要pip install下载即可。那么用什么做分类就选择什么输出头,就import什么东西。代码中使用了自动分词器选择,它是由checkpoint指定的预训练模型关联的,不用我们自己选择tokenizer,它自动帮我们选择好了。

LZL2020LZL的博客 1138

Jetpack Compose 实现鸿蒙引力加载 Loading

这是鸿蒙的引力加载动效果,一个小卫星绕着一个上下移动的主星在公转,似乎很简单。

金戈鐡馬 1299

从Raw图像到超分辨率:真实场景下的图像增强全流程指南

通过本文的学习,您已掌握了利用Raw图像实现真实场景超分辨率的完整技术链——从数据生成的“真实感模拟”,到双分支CNN的“细节+色彩”协同建模,再到模型的训练与落地。本文将带您从理论到实践,掌握利用Raw图像实现真实场景超分辨率的核心技术,让您的图像在细节和色彩上都能“更上一层楼”。是相机传感器直接输出的原始数据,保留了最完整的亮度、色彩信息(如Bayer阵列的原始采样),这为超分辨率提供了“富矿级”的信息基础。该分支以低分辨率RGB图像为参考,学习“色彩变换矩阵”,让恢复的细节拥有真实的色彩表现。

FJN110的博客 149

基于STM32设计的遥控灭火消防小车_296

随着城市化进程的加速和火灾发生频率的增加,传统的消防方式在应对初期火灾时存在反应慢、效率低等问题。为了提高火灾响应速度和灭火效率,本设计开发了一款基于STM32单片机的遥控灭火消防小车。该小车配备了烟雾检测、温湿度监测、火源定位、灭火操作等功能,能够通过蓝牙和WIFI实现远程控制与实时视频传输。设计采用了MQ2烟雾传感器、SHT30温湿度传感器、火光传感器和ESP32摄像头模块等硬件设备。系统不仅能够自动检测和定位火源,还可以手动调整灭火器对准位置,进行干粉灭火。此外,蜂鸣器用于火源报警,确保操作人员及时得

726

腾讯开源 ovCompose 跨平台框架:实现一次跨三端(Android/iOS/鸿蒙)

在移动应用开发领域,跨平台技术一直是开发者们追求的目标,它能够帮助企业降低开发成本、提高开发效率,同时保证应用在不同平台上的一致性体验。2025 年 6 月 3 日,腾讯视频团队迎来了一个重要的里程碑 —— 正式发布 ovCompose 跨平台框架,这一框架的最大亮点在于全面支持纯血鸿蒙系统,为开发者们带来了全新的跨端开发体验。

移动端开发干货分享 4731

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

面向新手的鸿蒙跨平台开发技术选型指南

跨平台开发与鸿蒙生态适配现状 本文分析了四种主流跨平台技术(Flutter、React Native、Kotlin Multiplatform、Compose Multiplatform)的特点及在OpenHarmony上的适配情况。Flutter和React Native已有开源适配方案,适合新手探索鸿蒙生态;KMP和CMP适配仍在早期阶段。对于初学者,建议优先选择Flutter或React Native作为入门技术,再逐步探索多平台开发能力。当前跨平台技术在鸿蒙生态的应用仍以技术验证为主,商用前需评估具

白晓明的博客 3849

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

实战教程:使用 Kuikly Compose 实现鸿蒙“碰一碰“(NFC)功能

本文介绍了如何在Kuikly Compose中调用鸿蒙原生NFC API实现"碰一碰"功能的技术方案。文章采用三层架构设计:鸿蒙侧处理原生NFC能力,Kuikly侧负责UI呈现,桥接层实现双向通信。详细展示了Kotlin侧Module接口定义,包括TouchEvent数据类、TouchState枚举和抽象TouchModule类,以及Compose UI界面的实现代码。该方案通过模块化设计实现了跨端框架与原生能力的无缝集成,为开发者提供了在Kuikly中调用鸿蒙特有功能的参考范例。

一个走在鸿蒙开发路上的小菜鸡 310

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

实战教程:使用 Kuikly Compose 从零开发鸿蒙原生计算器

本文介绍了如何使用Kuikly Compose开发鸿蒙计算器应用,主要包含三部分内容:首先配置开发环境并创建项目,强调选择Compose模板;其次详细讲解计算器UI和逻辑实现,展示Kuikly Compose与Jetpack Compose的高度兼容性;最后说明如何将应用部署到鸿蒙设备。整个过程体现了Kuikly"Write in Kotlin, Run natively on HarmonyOS"的理念,让Android开发者能快速迁移技能到鸿蒙平台。

一个走在鸿蒙开发路上的小菜鸡 1159

ArkTS-取消标题与自定义标题栏

文章里面不仅有取消标题和自定义标题栏,还有自定义tabBar;tabBar(半成品);导入引用资源文件;文本输入基础使用;List列表组件基本使用;Grid网格组件基本使用;页面获取地理位置;服务卡片获取地理位置(未完成)

yasinawolaopo的博客 1620

Jetpack Compose 自定义标题栏终极指南:从基础到高级实战

本文将带你彻底掌握 Compose 标题栏开发,涵盖。

tangweiguo03051987的博客 687

告别默认样式!Compose Multiplatform标题栏与菜单栏定制指南

你是否还在为Compose Multiplatform应用的标题栏样式千篇一律而烦恼?是否遇到过菜单栏布局在不同平台显示不一致的问题?本文将通过实例演示,教你如何在30分钟内实现跨平台自定义标题栏与菜单栏,让应用界面瞬间提升专业感。读完本文你将掌握:自定义标题栏组件开发、跨平台菜单栏适配技巧、系统托盘集成方案以及常见布局问题的解决方案。 ## 标题栏定制基础 标题栏作为应用的"脸面",其设计直...

gitblog_01141的博客 617

【HarmonyOS开发】ArkTs编译为SO包的流程记录

观察我们生成的JS中有多少个export,如果有多个,一定要增加下面的配置(巨坑)

qq_23334071的博客 2059
上一篇: 鸿蒙5.0开发进阶:UI框架-ArkTS组件(EmbeddedComponent)
下一篇: 鸿蒙5.0开发进阶:UI框架-ArkTS组件(EditableTitleBar)
懂你的大海
博客等级 码龄6年 9049粉丝 1381原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值