Uniapp开发鸿蒙应用教程之自定义导航栏

布局王
• 阅读 4

连续分享了几天的Uniapp跨平台开发鸿蒙应用教程的文章,相信大家对跨平台开发已经有了初步的了解,今天分享一下跨平台开发中的自定义导航栏。 在Hbuilder的初始化项目中是自带了导航栏的,这是一个全局的导航栏,它的样式设置和修改是在全局的配置文件pages.json中进行。 Uniapp开发鸿蒙应用教程之自定义导航栏 现在打开pages.json文件,在globalStyle中有一些关于导航栏的属性,我们尝试修改一下:

{
"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
        {
"path": "pages/index/index",
"style": {
"navigationBarTitleText": "uni-app"
            }
        }

    ],
"globalStyle": {
"navigationBarTextStyle": "black",
"navigationBarTitleText": "自定义导航栏",
"navigationBarBackgroundColor": "#F8F800",
"backgroundColor": "#F8F8F8"
    },
"uniIdRouter": {}
}

然后看到导航栏已经发生了改变: Uniapp开发鸿蒙应用教程之自定义导航栏 这样的修改很方便很便捷,但是好像只有颜色和文字这些基础的属性可以修改,很多时候我们需要在导航栏上添加一些组件,比如按钮或者搜索框。 对于这种情况,uniapp也提供了相应的设置方案,还是在pages.json文件中,当我们需要为某一个页面的导航栏添加组件,就在对应的path路径下设置style,style中有个titleNView属性就是为导航栏添加自定义组件,像这样:

"path": "pages/index/index",
"style": {
   "navigationBarBackgroundColor": "#00c170",
   "app-harmony": {
       "softinputMode": "adjustPan"
   },
   "app-plus": {
"titleNView": {
       "buttons": [{
"text": "搜索",
"fontSize": "16",
            "float": "right",
            "color": "#fff"
        }],
"searchInput": {
"align": "center",
"placeholder": "请输入信息",
"backgroundColor": "#fff",
"placeholderColor": "#000"
}
    }
  }
}

但是幽蓝君亲测这种设置方式在浏览器运行时可以正常显示,在鸿蒙中是无效的: Uniapp开发鸿蒙应用教程之自定义导航栏 所以在鸿蒙开发中我们需要自己定义导航栏。 再次回到pages.json文件,这次将navigationStyle设置成custom,作用是取消原生的导航栏:

"path": "pages/index/index",
"style": {
  "navigationStyle": "custom"
}

然后打开需要自定义导航栏的页面,我这里就直接在首页index.vue中操作,实现逻辑比较简单,就是在页面顶部添加一个导航栏大小的组件,然后在其中添加搜索框,相关代码如下:

<view class="custom-nav-bar">
  <input
style="width: calc(100% - 40px);background-color: white;height: 35px;padding: 0px 10px;border-radius: 18px;"
placeholder="请输入搜索内容" placeholder-style="#000" confirm-type="search" @input="navSearchAction" />
</view>
.custom-nav-bar {
display: flex;
justify-content: space-between;
align-items: center;
height: 54px;
/* 根据需要调整高度 */
background-color: #f8f8f8;
/* 导航栏背景色 */
/* 其他样式属性 */
padding: 30px 12px 0px 12px;
align-items: center;
justify-content: center;
}

看一下运行效果: Uniapp开发鸿蒙应用教程之自定义导航栏 今天就以添加一个搜索框为例,大家如果需要自定义其他的样式也是类似的实现方式。 以上就是uniapp跨平台开发鸿蒙应用中的自定义导航栏,感谢大家的阅读。#鸿蒙三方框架##Uniapp##购物#

点赞
收藏
评论区
推荐文章
陈杨 陈杨
1个月前
鸿蒙5开发宝藏案例分享---一多分级导航栏开发实践
✨鸿蒙开发宝藏踩坑经验:手把手教你玩转多端分级导航栏✨Hey小伙伴们!今天在撸代码时意外挖到了鸿蒙官方文档里藏着的"多端分级导航栏"黄金案例!这个方案完美解决了我在手机/平板/PC端反复横跳的适配焦虑,必须立刻马上分享给你们!🚀一、先唠唠这个方案有多香有
布局王 布局王
12小时前
uniapp开发HarmonyOS NEXT应用之项目结构详细解读
昨天的文章介绍了使用uniapp跨平台鸿蒙应用时如何配置开发环境和运行调试项目,今天介绍一下uniapp项目目录的结构。可能对于从事移动开发的友友来说,uniapp的项目结构看起来有一些陌生,它更接近于前端项目,新建的uniapp项目结构是这样的:上面的两
布局王 布局王
12小时前
Uniapp开发鸿蒙应用教程之选项式api和组合式api
大家好,前两天讲了Uniapp开发鸿蒙应用时的基础布局和自定义导航栏,都是仅限于页面上的开发。今天我们尝试进行一些数据上的操作,借此分享一下选项式API和组合式API的内容。我们初始化的首页项目代码,它的脚本代码部分通常是这样的:exportdefault
布局王 布局王
12小时前
Uniapp开发鸿蒙购物项目实战教程:实现首页轮播图
过去几天的文章中我们讲过了如何创建跨平台项目,如何进行基础的布局、如何实现自定义导航栏等等,通过这一系列的文章教程,我们最终要实现一个购物app,今天我们要做购物应用首页的轮播图部分。对于轮播图uniapp提供了相应的组件swiper,并且是支持鸿蒙应用的
布局王 布局王
12小时前
Uniapp开发鸿蒙购物项目教程之样式选择器
大家下午好,今天依然为大家带来鸿蒙跨平台开发教程的分享,我们本系列的教程最终要做一个购物应用,通过这个项目为大家分享uniapp开发鸿蒙应用从配置开发环境到应用打包上架的完成过程。昨天的文章实现了应用首页的轮播图,其中涉及到为轮播图设置样式,放一小段代码带
布局王 布局王
12小时前
Uniapp开发鸿蒙应用时如何运行和调试项目
经过前几天的分享,大家应该应该对uniapp开发鸿蒙应用的开发语法有了一定的了解,可以进行一些简单的应用开发,今天分享一下在使用uniapp开发鸿蒙应用时怎么运行到鸿蒙设备,并且在开发中怎么调试程序。运行Uniapp项目支持运行到鸿蒙真机和模拟器,不过在这
布局王 布局王
12小时前
鸿蒙仓颉开发语言实战教程:实现商城应用首页
经过了几天的入门教程,我们终于进入到了仓颉开发语言的实战环节,今天分享的内容是实现商城应用的首页页面,效果图如下:首页的内容包括导航栏、轮播图、商品分类和商品列表,我们下面逐一介绍。导航栏仓颉语言中是没有导航栏组件的,我们需要自己去开发。此处的导航栏也比较
布局王 布局王
12小时前
鸿蒙仓颉语言开发实战教程:购物车页面
大家上午好,仓颉语言商城应用的开发进程已经过半,不知道大家通过这一系列的教程对仓颉开发是否有了进一步的了解。今天要分享的购物车页面:看到这个页面,我们首先要对它简单的分析一下。这个页面一共分为三部分,分别是导航栏、购物车列表和底部的结算栏。也能它们是col
布局王 布局王
12小时前
鸿蒙Next仓颉语言开发实战教程:消息列表
大家周末好,今天要分享的是仓颉语言开发商城应用实战教程的消息列表页面。这个页面的导航栏和之前有所不同,不过难度并没有增加,只是标题移到了左边,我们使用两端对齐方式就能实现,导航栏部分的具体代码如下:Row(8)Text('消息').fontSize(16)
布局王 布局王
12小时前
鸿蒙Next仓颉语言开发实战教程:聊天列表
昨天分享了消息列表页面,今天继续分享聊天页面的开发过程:这个页面又是常见的上中下布局,从上至下依次为导航栏、聊天列表和输入框工具栏,我们可以先写一下简单的结构,最上面导航栏是横向布局,所以写个Row容器,中间是List,底部仍然是Row容器,导航栏和底部输