HarmonyOS NEXT开发:UI导航栏组件-NavigationBarView

 NavigationBarView 是什么?

  • NavigationBarView是ArkTS上的UI自定义导航栏组件,内置了导航栏的返回按钮、标题、搜索入口、右侧按钮等常用微功能。
  • NavigationBarView结构展示
    NavigationBarView                 
    ├── back
    │   ├── back_icon
    │   ├── back_title
    ├── centerContent
    │   ├── nav_title
    │   ├── nav_search
    │      ├── search_icon                  
    │      ├── search_placeholder
    ├── rightItems
    │   ├── firstItem
    │   ├── secondItem 
    │   ├── thirdItem               
    

创作背景


ArkTS不像Swift语言一样,没有存在栈容器导航栏,每个页面都需要自定义创建,虽然是一个很简单的组件定制,但也需要耽误一点时间。本着再小的工作量也需要有人做的态度,以及响应官方共建三方库组件的号召,在下不才,花点时间做出来大家一起用。在不影响当前版本的情况下,以后的迭代争取支持链式修改属性。

安装与使用


配置
  • 在DevEco Studio内使用NavigationBarView
  • 环境
    • ArkTS-3.2.12.5 +
    • API9 +
  • 工程级package.json内配置:
"dependencies": {"@maple/navigationbarview": "1.0.5"
}
安装
ohpm i @maple/navigationbarview
使用
/** 导入 */
import { NavigationBarView } from '@maple/navigationbarview'build() {/** 举例:只使用标题 */NavigationBarView({title: "Hello World",showBack: false})
}

属性说明


No.属性说明
1title导航栏标题
2titleFont标题字体大小
3titleColor标题字体颜色
4titleFontWeight标题字体粗细
5showBack是否显示返回按钮
6backImage返回图标
7backImageColor返回图标的颜色
8backImageSize返回图标的大小
9backImageLeftMargin返回图标距离左侧屏幕的间距
10backTitle返回按钮的标题
11backTitleColor返回按钮的标题字体颜色
12backTitleFont返回按钮的标题字体大小
13backTitleFontWeight返回按钮的标题字体粗细
14backTitleLeftMargin返回按钮标题距离返回图标的间距
15contentToCenter中间内容是否保持居中
16contentHorizontalSpace中间内容距离两侧的间距
17centerContentAlign中间内容的对齐方式,可通过该值修改contentToCenter=false下title居左显示
18searchPlaceholder搜索框文本占位符
19searchPlaceholderFontColor搜索框文本占位符的字体颜色
20searchPlaceholderFontSize搜索框文本占位符的字体大小
21searchPlaceholderFontWeight搜索框文本占位符的字体粗细
22searchImage搜索框图标
23searchImageColor搜索框图标的颜色
24searchImageSize搜索框图标的大小
25searchImageLeftMargin搜索框图标距离左侧的间距
26searchPlaceholderMargin搜索框文本占位符的周边间距
27searchBackgroundColor搜索框的背景颜色
28searchBarRadius搜索框的圆角,默认为内容的高度
29rightFirstImage从右侧屏幕往左的第一个按钮的图片
30rightSecondImage从右侧屏幕往左的第二个按钮的图片
31rightThirdImage从右侧屏幕往左的第三个按钮的图片
32rightImageSize右侧功能按钮的图标大小,宽高都是该值
33rightImageBoxWidth右侧功能按钮的事件点击区域宽度,高度跟随内容的高度
34rightImagesOnScreenRightMargin右侧功能按钮距离右侧屏幕的间距
35contentHeight内容的高度
36contentBottomSpace内容距离底部的间距
37navHeight导航栏的总高度,该高度参考的程序为【我的华为】App
38backClick返回按钮的点击事件,如果存在返回标题,点击返回标题也会触发该事件
39searchClick搜索框的点击事件
40rightFirstImageClick从右侧屏幕往左的第一个按钮的点击事件
41rightSecondImageClick从右侧屏幕往左的第二个按钮的点击事件
42rightThirdImageClick从右侧屏幕往左的第三个按钮的点击事件
43@BuilderParam centerContent⭐️替换中间的内容文本,替换后,需要自己实现【标题】或【搜索框】
44@BuilderParam rightFirstImageContent⭐️从右侧屏幕往左的第一个按钮的内容替换,一般可用来改为文本控件或者组合图标(双层图标),通过设置rightImageBoxWidth来拉开间距
45@BuilderParam rightSecondImageContent⭐️从右侧屏幕往左的第二个按钮的内容替换,一般可用来改为文本控件或者组合图标(双层图标),通过设置rightImageBoxWidth来拉开间距
46@BuilderParam rightThirdImageContent⭐️从右侧屏幕往左的第三个按钮的内容替换,一般可用来改为文本控件或者组合图标(双层图标),通过设置rightImageBoxWidth来拉开间距

举例


效果图例

                                       

                                       

                                        

内容支持替换
build() {Column() {NavigationBarView({centerContent: () => {this.navigationBarTitleBuilder()},rightFirstImageContent: () => {this.rightFirstImageContentBuilder()}})}}@Builder navigationBarTitleBuilder() {// 可自定义中间的内容Text("替换后的组件演示").fontSize(16)}@Builder rightFirstImageContentBuilder() {// 可自定义功能按钮的内容Image($r("sys.media.ohos_app_icon")).objectFit(ImageFit.Contain).width(20).height(20)}

                                     

最后

小编在之前的鸿蒙系统扫盲中,有很多朋友给我留言,不同的角度的问了一些问题,我明显感觉到一点,那就是许多人参与鸿蒙开发,但是又不知道从哪里下手,因为资料太多,太杂,无从选择。有很多小伙伴不知道学习哪些鸿蒙开发技术?不知道需要重点掌握哪些鸿蒙应用开发知识点?而且学习时频繁踩坑,最终浪费大量时间。所以有一份实用的鸿蒙(HarmonyOS NEXT)文档用来跟着学习是非常有必要的。 

为了确保高效学习,建议规划清晰的学习路线

GitCode - 全球开发者的开源社区,开源代码托管平台希望这一份鸿蒙学习文档能够给大家带来帮助~

 鸿蒙(HarmonyOS NEXT)最新学习路线

该路线图包含基础技能、就业必备技能、多媒体技术、六大电商APP、进阶高级技能、实战就业级设备开发,不仅补充了华为官网未涉及的解决方案

路线图适合人群:

IT开发人员:想要拓展职业边界
零基础小白:鸿蒙爱好者,希望从0到1学习,增加一项技能。
技术提升/进阶跳槽:发展瓶颈期,提升职场竞争力,快速掌握鸿蒙技术

2.学习视频+学习PDF文档

HarmonyOS Next 最新全套视频教程 (鸿蒙语法ArkTS、TypeScript、ArkUI教程……)

纯血版鸿蒙全套学习文档(面试、文档、全套视频等)           

​​​​鸿蒙APP开发必备

总结

【纯血版鸿蒙全套学习文档】

总的来说,华为鸿蒙不再兼容安卓,对程序员来说是一个挑战,也是一个机会。只有积极应对变化,不断学习和提升自己,才能在这个变革的时代中立于不败之地。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1523685.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

全倒装COB超微小间距LED显示屏比正装COB小间距的优势在哪些方面

在全倒装COB超微小间距LED显示屏与正装COB小间距显示屏的激烈对比中,我们不得不深入探讨其各自在技术创新、显示效果、以及应用领域的独特优势。 全倒装技术作为LED显示领域的一项重大突破,其核心在于将LED芯片直接倒装焊接在基板上,这一创新…

RFID光触发标签与端口自检功能新型光交箱哑资源管理方案

在通信行业的快速发展进程中,光交箱作为关键的网络节点,其哑资源的有效管理对于保障通信服务的质量和稳定性至关重要,传统的管理方式在面对日益庞大和复杂的光交箱哑资源时,逐渐显露出诸多弊端,如资源信息不准确、故障…

PDF转PPT,四款神器助你一臂之力!

亲爱的朋友们,你们在日常的工作和生活中有没有遇到过需要将PDF文件转换成PPT格式的情况呢?今天,我就来给大家推荐四款非常好用的工具,让你轻松应对PDF转PPT的难题! 一、福昕转换器 直通车(粘贴到浏览器打…

最新版php进销存系统源码 ERP进销存专业化管理 永久免费升级更新+完整图文搭建教程

在当今信息化时代,企业管理的高效性与精确性是企业竞争力的关键。分享一款最新版的PHP进销存系统源码,一款专为企业设计的ERP进销存管理工具,其丰富的功能、灵活的子账号设置、强大的权限控制、以及独家升级的合同管理和报价单打印功能&#…

数据仓库系列11:ETL的主要步骤是什么,它们分别有什么作用?

你是否曾经感觉被海量数据淹没?是否在寻找一种方法来有效地整合、转换和加载这些数据?如果是,那么你来对地方了。今天,我们将深入探讨ETL(Extract, Transform, Load)过程的三个关键步骤,这是每个大数据开发者都应该掌握的核心技能。准备好踏上成为数据整合大师的旅程了吗?让…

[B站大学]Zotero7教程

参考资料: https://www.bilibili.com/video/BV1PSvUetEQX 2. 账号注册与同步 本节内容参考zotero中文社区文档:https://zotero-chinese.com/user-guide/sync 2.1 数据同步 首先注册一个Zotero官方账户。登录账号密码。 2.2 文件同步 按照文档,推荐…

Kafka3.x 使用 KRaft 模式部署 不依赖 ZooKeeper

前言 Kafka 从 2.8.0 版本开始引入了 Kafka Raft Metadata Mode(KRaft 模式),这个模式允许 Kafka 在不依赖 ZooKeeper 的情况下进行元数据管理。KRaft 模式在 Kafka 3.0.0 中进入了稳定版本,本文部署的 Kafka_2.12-3.6.0 单机模式 环境 Ce…

从Deepfake事件透视:人工智能如何重塑安防监控的未来

近年来,随着人工智能技术的飞速发展,特别是深度伪造(Deepfake)技术的出现,引发了社会各界的广泛关注与讨论。Deepfake技术通过深度学习算法,将个人的声音、面部表情及身体动作拼接合成虚假内容,…

什么是基于云的 SIEM

随着企业不断将业务迁移到数字世界,网络威胁的领域也在不断扩大,随着时间流逝,新的威胁不断出现,手段也变得更加巧妙。一个关键问题出现了:组织如何保护其敏感数据、资产和声誉免受网络威胁?这就是基于云的…

10.5 传输层协议(TCP和UDP)

传输层协议 TCP 关键特性 传输层协议 TCP 头部 传输层协议 TCP 三次握手 传输层协议 UDP 真题 1

raksmart香港大带宽服务器地址

RAKsmart香港大带宽服务器的地址是由RAKsmart公司提供的香港机房所在地,具体地址未在公开资料中披露,但其主要特点是提供高带宽且不限制流量的服务。 RAKsmart是一家成立于2012年的美国公司,其香港机房以提供大带宽、直连内地的优化线路和丰富…

9/4 链表-力扣 234、19

234.回文链表 给你一个单链表的头节点 head ,请你判断该链表是否为回文链表;如果是,返回 true ;否则,返回 false 。 输入:head [1,2,2,1] 输出:true 思考:链表遍历只能从前往后&a…

【Redis】缓存击穿、缓存穿透、缓存雪崩原理以及多种解决方案

一、前言 在 Spring Cloud 微服务集群项目中,客户端的请求首先会经过 Nginx,Nginx 会将请求反向代理到 Gateway 网关层,接着才会将请求发送到具体的服务 service。 在 service 中如果要查询数据,则会到缓存中查询,如…

2024年最强图纸加密软件大揭秘!图纸加密软件推荐

在数字化时代,信息安全成为企业发展的重要保障,尤其是对于设计图纸等敏感数据的保护,选择一款可靠的图纸加密软件尤为重要。本文将为您推荐2024年十大图纸加密软件,帮助企业在日常工作中更好地保护知识产权和商业机密。 2024年最强…

宽带和带宽分不清楚

如何理解带宽 我们平时经常听到的带宽其实是宽带,举个栗子:我家用的是xx运营商提供的,号称1000M宽带,这其实指是的网络数据传输的速率是:1000Mbs(即125MBps)。 那么既然有宽带,就有…

OSS上传文件

注册阿里云账号 开通oss服务 创建accesskey和secret 进入oss选项,根据sdk开发代码

网站开发:XTML+CSS - 网页文档结构

1. 前言 HTML(HyperText Markup Language,超文本标记语言)是构建网页和 web 应用程序的标准标记语言。它定义了网页的结构和内容,允许开发者创建有组织、语义化的文档。 HTML 使用一系列的元素(elements)和…

如何轻松开启美股交易之旅?

你是否正在考虑进入美股市场,却不知道从哪里开始?“如何投资美股”的具体步骤和技巧,你是否已经掌握? 掌握美股交易时间与规则 1. 美股交易时间:灵活安排交易计划的基础 如何投资美股?首先,你…

简单的java调动远程服务器shell脚本

简单的java调动远程服务器shell脚本 1.需求 我们想要在我们的xxl-job中调用一个定时任务,固定时间频率去调用另一个服务器的shell脚本,进行数据批量的处理,整体需求逻辑非常简单,此处记录一下java调用shell脚本部分,…

Redis应用(2)——Redis的项目应用(一)

/** * 雪花id的工具类 */ Slf4j public class SnowFlakeUtil { private static long workerId 0; private static long datacenterId 1; private static Snowflake snowflake IdUtil.getSnowflake(workerId,datacenterId); PostConstruct // 自动调用,在构造方法…