• 【uniapp】小程序开发6:自定义状态栏


    一、自定义状态栏

    可以设置某个页面的状态栏自定义或者全局状态栏自定义。

    这里以首页状态栏为例。

    1)pages.json 中配置"navigationStyle": "custom",代码如下:

    {
    	"pages": [ 
    		{
    			"path": "pages/index/index",
    			"style": {
    				"navigationStyle": "custom",
    				"navigationBarTitleText": "首页"
    			}
    		}
    	],
    	
    	"globalStyle": {
    		// 如果要配置全局自定义状态就是下面这行代码
    		// "navigationStyle": "custom"
    		//...
    	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    2)增加自定义状态栏组件my-navbar.vue

    因每台手机的顶部预留高度不一样,需要通过方法uni.getSystemInfoSync() 获取顶部安全区域高度,然后通过样式预留出来。该方法针对不同机型返回不同的安全高度。

    下面代码通过设置样式 paddingTop: safeAreaInsets?.top + 'px'预留顶部安全高度

    <template>
    	<view :style="{ paddingTop: safeAreaInsets?.top + 'px' }">
    		<uni-nav-bar shadow :border="false" title="自定义导航栏" leftIcon="auth" leftText="首页">
    		uni-nav-bar>
    	view>
    	<uni-search-bar radius="5" placeholder="自动显示隐藏" clearButton="auto" cancelButton="none" @confirm="search" />
    template>
    
    <script setup lang="ts">
    const { safeAreaInsets } = uni.getSystemInfoSync()
    console.log('safeAreaInsets', safeAreaInsets);
    
    const search = (res: any) => {
    	uni.showToast({
    		title: '搜索:' + res.value,
    		icon: 'none'
    	});
    
    }
    script>
    
    <style scoped>
    style>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    3)在首页vue页面中使用组件my-navbar.vue

    <template>
      <my-navbar/>
      <view class="content">
        
      view>
    template>
    
    <script setup lang="ts">
    import { ref } from 'vue'
    import myNavbar from '../components/my-navbar.vue';
    // ...... //
    script>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    在这里插入图片描述

    在这里插入图片描述

  • 相关阅读:
    InfluxDB、Grafana、node_exporter、Prometheus搭建压测平台
    Camtasia 2024.3.7 Mac功能强大的屏幕录制和视频编辑软件
    MySQL performance schema性能分析实战
    yolov5之魔化修改
    手机强制移除ppt密码,ppt权限密码多少?
    【39. 最长公共子序列】
    SpringBoot 配置
    这次彻底学明白了:四种机器学习超参数搜索方法太详细了
    Linux安装mysql
    Open3D(C++) 快速全局配准(基于FPFH)
  • 原文地址:https://blog.csdn.net/wlddhj/article/details/133687447