当前位置: 首页 > news >正文

uniapp 如何自定义导航栏并自适应机型

如今的移动设备有各种不同的屏幕形状,如刘海屏、水滴屏等。这些异形屏会影响页面的布局,尤其是导航栏和底部栏的显示。通过获取安全区域信息,可以确保页面内容不会被异形屏的特殊区域遮挡。

在设计页面顶部导航栏时,可以根据 safeAreaInsets.top 的值来调整导航栏的位置,使其在不同设备上都能正确显示,避免被刘海区域遮挡。

例如iPhone14Pro max机型,就被挡住了!!!

解决方法如下:

1、在page.json里面配置"navigationStyle": "custom" ——导航栏自定义
 {"path": "pages/index/index","style": {"navigationBarTitleText": "首页",//使用自定义导航栏"navigationStyle": "custom","navigationBarTextStyle": "white"}},
2、设计自定义导航栏布局 
<template><view class="navbar"><!-- logo文字 --><view class="logo"><image class="logo-image" src="@/static/images/logo.png"></image><text class="logo-text">新鲜 · 亲民 · 快捷</text></view><!-- 搜索条 --><view class="search"><text class="icon-search">搜索商品</text><text class="icon-scan"></text></view></view>
</template>
3、适配不同机型

获取各机型信息

<script setup lang="ts">
//获取屏幕边界到安全区域的距离
const { safeAreaInsets } = uni.getSystemInfoSync()
console.log(safeAreaInsets);
</script>

 

动态设置样式::style="{ paddingTop: safeAreaInsets?.top + 'px' }"

<template><view class="navbar" :style="{ paddingTop: safeAreaInsets?.top + 'px' }"><!-- logo文字 --><view class="logo"><image class="logo-image" src="@/static/images/logo.png"></image><text class="logo-text">新鲜 · 亲民 · 快捷</text></view><!-- 搜索条 --><view class="search"><text class="icon-search">搜索商品</text><text class="icon-scan"></text></view></view>
</template>

设置完之后就不会挡住啦!!!!

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【 Kubernetes 风云录 】- Cert证书更新
  • YoloV10改进策略:上采样改进|动态上采样|轻量高效,即插即用(适用于分类、分割、检测等多种场景)
  • JVM代码运行逻辑
  • Python基础学习(1)
  • linux中将文本转为unix格式
  • 如何进行数字化基础设施的构建呢?
  • git rev-parse
  • framebuffer帧缓存
  • 【CSS】样式水平垂直居中
  • uniapp写移动端常见问题汇总
  • 【AI大模型】OpenAI API实现翻译助手场景
  • 校验(网络传输)
  • [数据集][目标检测]俯拍航拍森林火灾检测数据集VOC+YOLO格式6116张2类别
  • (k8s)Kubernetes本地存储接入
  • PostgreSQL LSN 详解及转换工具
  • github指令
  • MySQL用户中的%到底包不包括localhost?
  • node 版本过低
  • node-sass 安装卡在 node scripts/install.js 解决办法
  • node学习系列之简单文件上传
  • Promise面试题,控制异步流程
  • 第2章 网络文档
  • 飞驰在Mesos的涡轮引擎上
  • 聊聊spring cloud的LoadBalancerAutoConfiguration
  • 设计模式(12)迭代器模式(讲解+应用)
  • 使用前端开发工具包WijmoJS - 创建自定义DropDownTree控件(包含源代码)
  • 腾讯优测优分享 | 你是否体验过Android手机插入耳机后仍外放的尴尬?
  • 微信小程序填坑清单
  • 新手搭建网站的主要流程
  • 云栖大讲堂Java基础入门(三)- 阿里巴巴Java开发手册介绍
  • 在electron中实现跨域请求,无需更改服务器端设置
  • Python 之网络式编程
  • 数据可视化之下发图实践
  • # Swust 12th acm 邀请赛# [ K ] 三角形判定 [题解]
  • (1) caustics\
  • (2)Java 简介
  • (Redis使用系列) Springboot 使用redis的List数据结构实现简单的排队功能场景 九
  • (八)Docker网络跨主机通讯vxlan和vlan
  • (二)WCF的Binding模型
  • (分享)一个图片添加水印的小demo的页面,可自定义样式
  • (回溯) LeetCode 78. 子集
  • (排序详解之 堆排序)
  • (全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF
  • (四)Controller接口控制器详解(三)
  • (转载)微软数据挖掘算法:Microsoft 时序算法(5)
  • .MyFile@waifu.club.wis.mkp勒索病毒数据怎么处理|数据解密恢复
  • .net 4.0发布后不能正常显示图片问题
  • .net core 调用c dll_用C++生成一个简单的DLL文件VS2008
  • .net 获取某一天 在当月是 第几周 函数
  • .NET单元测试使用AutoFixture按需填充的方法总结
  • .Net的C#语言取月份数值对应的MonthName值
  • .NET性能优化(文摘)
  • .pyc文件还原.py文件_Python什么情况下会生成pyc文件?
  • .set 数据导入matlab,设置变量导入选项 - MATLAB setvaropts - MathWorks 中国
  • @TableLogic注解说明,以及对增删改查的影响