在项目开发中, 想要自定义一个导航栏, 做完之后发现坑还是不少

需求: 导航栏添加搜索框与搜索图标

pages.json 文件用来对 uni-app 进行全局配置,决定页面文件的路径、窗口样式、原生的导航栏、底部的原生tabbar 等。

它类似微信小程序中app.json的页面管理部分。

代码:

简单的原生导航

{

"path": "pages/search/search",

"style": {

"navigationBarTitleText": "搜索",

"navigationBarBackgroundColor": "#ffd655"

}

}

复制代码

效果

添加搜索框以及图标

{

"path": "pages/searchpage/searchpage",

"style": {

"navigationBarTitleText": "搜索结果",

"app-plus": { //app-plus 配置编译到 App 平台时的特定样式,部分常用配置 H5 平台也支持

"titleNView": {

// "type": "transparent", //透明渐变导航栏 App-nvue 2.4.4+ 支持

"searchInput": {

"backgroundColor": "#fff",

"borderRadius": "6px", //输入框圆角

"placeholder": "请输入搜索内容"

},

"buttons": [{ // 具体说明请继续往下看

"text": "\ue607", // button字体图标

"fontSrc": "/static/iconfont.ttf",

"fontSize": "22px",

"float": "right" // button位置, 可以选择在左边或者右边

}]

}

}

}

}

复制代码

效果

搜索框配置

搜索框配置属性

自定义按钮

自定义按钮属性

具体配置可以查看文章顶部的官方文档

之前的内容都是官方文档里有的, 主要是自定义button的样式, 官方没有说的很清楚

我刚看到pages.json里自定义button的图标需要字体图标时有点懵逼

其实可以在阿里巴巴矢量图标库里引用(之前都是使用的图片图标)

阿里巴巴矢量图标库

设计师将图标上传到Iconfont平台,用户可以自定义下载多种格式的icon,平台也可将图标转换为字体,便于前端工程师自由调整与调用。

具体怎么查找添加图标就不赘述了

图标可以 unicode引用 font-class引用 symbol引用 以及使用到安卓以及ios平台

拿这个搜索图标举例, 点击使用帮助可以查看矢量图标的使用方法, 只查看最后一种ios引用(因为ios也是用ttf字体图标引用)

官方有小提示

在这里只说明怎么引用到uni.app中

返回项目

选择将图标下载至本地

解压之后将iconfoot.ttf复制到uniapp项目中

我们再看一下刚才uniapp的button配置

fontSrc需要的文件有了, 那text属性怎么设置?

在刚才阿里巴巴矢量图标库的项目页, 鼠标浮在图标上会有操作可选

选择编辑图标

箭头所指的的unicode码就是text属性要设置的

官方对于text属性的说明

按钮上显示的文字。使用字体图标时 unicode 字符表示必须 '\u' 开头,如 "\ue123"(注意不能写成"\e123")。

每次项目添加新图标之后, 都需要重新下载ttf字体图标文件

监听导航栏事件

页面属性中导航栏相关事件

uniapp 底部菜单_uniapp 原生导航栏相关推荐

  1. uniapp 底部菜单_uni-app 自定义底部导航栏的实现

    这是我目前发现较好的uni-app 自定义底部导航栏方法,其他方法的缺点主要是在切换时,要么会闪烁,要么会每点击一下,都会请求一次数据.如果有其他更好的方法,欢迎评论留言,最近才开始用uni-app写 ...

  2. [转载]uni-app 换肤实现-原生导航栏、tabbar和页面全部替换

    通过全局缓存参数设置当前主题: 换肤代码如下 setSkinme(theme) {uni.setStorageSync("theme", theme)uni.showModal({ ...

  3. uniapp 底部菜单_uni-app底部导航栏

    uni-app 的tabbar配置参数地址: tabBar的配置跟globalStyle同级 1.在pages新建几个页面 2.配置tabBar, color字体颜色 selectedColor选中的 ...

  4. uni-app自定义tabBar;uni-app小程序自定义tabBar;uni-app小程序修改中间tabBar导航栏大小;uni-app中间导航栏凸起;uni-app修改底部导航栏

    需求:要求小程序,中间的tabBar自定义凸起或者图标变大: 问题:查看uni-app的tabBar文档可知,小程序是不支持midButton的: 解决思路:隐藏uni-app原有的tabBar,然后 ...

  5. uniapp的原生导航栏返回键

    uniapp的原生导航栏是在路径配置里跳转   返回时经常默认回到首页 记录 类似新闻页跳转到详情在返回到当前页 跳转到详情页 toDetail(id) {console.log(3434);uni. ...

  6. uniAPP 禁用原生导航栏 和 获取状态栏高度 和 使用(间距掉)

    小程序的原生导航栏是禁用不了的 因为他会用有一些东西,H5 和  安卓.IOS 是可以禁用的: 官网找到 appplus 配置编译到 App 平台时的特定样式,部分常用配置 H5 平台也支持.以下仅列 ...

  7. uniapp隐藏原生导航栏

    隐藏原生导航栏 一.隐藏单个页面的原生导航 二.隐藏全局页面的原生导航 一.隐藏单个页面的原生导航 今天写微信小程序的时候,ui小姐姐给了我一效果图 然后我做出来的效果是这样的 如果想要去掉原生导航栏 ...

  8. 原生导航栏控件navigationbar使用说明

    概念澄清 HBuilder8.0.1版更新说明中App模块[重要]更新,新增原生导航栏控件. navigationbar在js层也是nativeObj.View对象,可再次自由绘制定义.建议非必要不使 ...

  9. uni-app去掉页面顶部的导航栏

    默认的样式: 配置后的样式: 在pages.json里面进行配置: navigationStyle导航栏样式,仅支持 default/custom.custom即取消默认的原生导航栏 "ti ...

最新文章

  1. 实战:手把手教你用朴素贝叶斯对文档进行分类
  2. AI正从“感知智能”走向“认知智能”
  3. 写个Vue小组件,图片滚动
  4. APUE读书笔记-09进程关系(04)
  5. ZooKeeper伪分布式集群安装
  6. 中国担保市场竞争战略规划与运营效益分析报告2022-2027年版
  7. 创建一个水平盒子java_你了解如何比较两个对象吗
  8. python解析树_如何使用python中的stanford解析器获取树的叶子?
  9. apache.camel_使用Apache Camel 2.14的轻松REST端点
  10. 微软发布Visual Studio Mac预览版
  11. nProtect的一些知识
  12. 什么是数据库?什么是数据库管理系统? 说明两者的区别和联系。
  13. python树莓派3控制蜂鸣器_树莓派用蜂鸣器实现整点报时
  14. 【verbs】ibv_modify_qp()|RDMA
  15. 修改android模拟器位置
  16. Jedis Connection Pool
  17. oracle 误删数据恢复
  18. 知识欠缺到沙漠化了吧
  19. 安装xmanager linux系统,xmanager linux版
  20. Leetcode 1564 把箱子放进仓库里1

热门文章

  1. android双缓冲绘图技术分析
  2. 《深入理解计算机系统》CSAPP
  3. linux io分析工具,io性能分析工具-iostat
  4. python判断天数_python判断输入日期是该年的第几天
  5. fx5u mc协议_SLMP协议和MC协议
  6. tone mapping简介
  7. 简单易懂设计模式——简单工厂模式
  8. 利用xlwt、xlrd搜索excel表格内容并复制出需要的那一行内容
  9. DDD战略篇:架构设计的响应力
  10. Eclipse控制台输出信息的控制