当前位置:   article > 正文

uni-app自定义小程序导航栏,适配刘海屏幕。_uniapp 适配刘海屏

uniapp 适配刘海屏

状态栏和导航栏用统一的背景填充,自定义一个如下导航栏的效果

 

 uni-app中有获取高度的api,如下代码;

  1. <template>
  2.     <view class="content">
  3.         <!-- 背景图片 包含状态栏的标题-->
  4.         <image class="logo" src="背景图片路径" mode=""></image>
  5.         <!-- 状态栏的占位 -->
  6.         <view class="boxAndTop" :style="{height:statusBarHeight+'px'}"></view>
  7.         <!-- 标题栏 -->
  8.         <view class="uni-seleton" :style="{height:titleBarHeight+'px'}">
  9.             <view class="back-btn">
  10.                 <view class="back-btn-go" @click="navBack">
  11.                     <image src="返回按钮图片" mode=""></image>
  12.                 </view>
  13.                 <view class="title" :style="{lineHeight:titleBarHeight+'px'}">标题栏</view>
  14.             </view>
  15.         </view>
  16.     </view>
  17. </template>
  18. <script>
  19.     export default {
  20.         data() {
  21.             return {
  22.                 statusBarHeight: 0,
  23.                 titleBarHeight: 0
  24.             }
  25.         },
  26.         onLoad() {
  27.         //获取状态栏的高度
  28.             let systemInfo = uni.getSystemInfoSync()
  29.             this.statusBarHeight = systemInfo.statusBarHeight
  30.             let menuButtonInfo = uni.getMenuButtonBoundingClientRect()
  31.             this.titleBarHeight = (menuButtonInfo.top - this.statusBarHeight) * 2 + menuButtonInfo.height
  32.         },
  33.         methods: {
  34.             // 返回上一页
  35.             navBack() {
  36.                 uni.navigateBack();
  37.             }
  38.         }
  39.     }
  40. </script>
  41. <style lang='scss'>
  42.     .logo {
  43.         width: 100%;
  44.         height: 429rpx;
  45.         position: fixed;
  46.         top: 0;
  47.         right: 0;
  48.         display: block;
  49.     }
  50.     .back-btn {
  51.         z-index: 999;
  52.         font-size: 40upx;
  53.         display: flex;
  54.         justify-content: center;
  55.         width: 100%;
  56.         position: relative;
  57.         .back-btn-go{
  58.             width: 20rpx;
  59.             height: 35rpx;
  60.             position: absolute;
  61.             left: 30rpx;
  62.             top: 50%;
  63.             transform: translateY(-50%);
  64.             image{
  65.                 height: 35rpx;
  66.             }
  67.         }
  68.         .title {
  69.             color:#fff;
  70.             font-weight: bolder;
  71.             font-size: 32upx;
  72.         }
  73.     }
  74. </style>

前提是要在pages.json配置

"navigationStyle": "custom",

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/152843
推荐阅读
相关标签