uni-appuin-appuni-app交流圈

uni-app导航栏配置

2019-07-23  本文已影响10人  瑟闻风倾

参考官网uni-app导航栏开发指南

1. 原生导航栏-通用配置

(1) 原生导航优点

(2) 原生导航缺点

(3) 原生导航栏的通用配置: uni-app 自带原生导航栏,在pages.json里配置。

"globalStyle": {
    "navigationBarTextStyle": "black",
    "navigationBarTitleText": "Hello uniapp",
    "navigationBarBackgroundColor": "#F8F8F8",
    "backgroundColor": "#F8F8F8",
    "backgroundColorTop": "#F4F5F6",
    "backgroundColorBottom": "#F4F5F6",
    "mp-alipay": {
        "titleBarColor": "#FFFFFF"
    }
},
{
    "path": "pages/index/index",
    "style": {
        "navigationBarTitleText": "主页",  
    }
},

备注:单页面style中配置项会覆盖 globalStyle 中相同的配置项。

2. 全局取消原生导航栏

备注:一般App里不会使用这个参数配置。建议个别页面单独设置不使用原生导航。
(1) 在pages.json的globalStyle里有个navigationStyle设置,默认是default,即带有原生导航栏。
(2) navigationStyle设置为custom后,所有页面都没有原生导航。
说明:但在微信小程序里,右上角始终都有一个胶囊按钮。很多微信小游戏界面上也没原生导航栏,但有胶囊按钮。

"globalStyle": {
    "navigationStyle": "custom",
},

3. 单页面去除原生导航栏

说明:自微信客户端 7.0.0 起、App端HBuilderX 2.0.3起,支持通过如下方法取消单独一个页面的原生导航栏。但小程序右上角胶囊按钮仍然去不掉。页面配置 navigationStyle 为 custom:

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

4. 原生导航栏在App侧的扩展

4.1 App单独去除原生导航栏(注意顶部状态栏占位)

{
    "path": "pages/index/index",
    "style": {
        "navigationBarTitleText": "主页",  
        "app-plus": {  
            "titleNView": false  //不启用系统导航
        } 
    }
},

备注:在App去除原生导航栏后,小程序端侧仍保有原生导航栏。

4.2 App去除导航栏后改变状态栏样式

App因为默认为沉浸式,去除导航栏后,页面顶部会直通到状态栏的区域,可能出现如下需求:

{
    "path": "pages/index/index",
    "style": {
         // "navigationStyle":"custom",
        "navigationBarTitleText": "主页",  
        "app-plus":{
            "titleView":false
        }
     }
}

(2) index.vue

<template>
    <view>
        <!-- #ifdef APP-PLUS -->  
        <view class="status_bar">  
            <view class="top_view"></view>  
        </view>  
        <!-- #endif --> 
        <view>  
            
        </view> 
    </view>
</template>

<script>
export default {
    data() {
        return {
            
        }
    },
    methods: {
        
    }
}
</script>

<style>
.status_bar {  
    height: var(--status-bar-height);  
    width: 100%;  
    background-color: #F8F8F8;  
}  
.top_view {  
    height: var(--status-bar-height);  
    width: 100%;  
    position: fixed;  
    background-color: #F8F8F8;  
    top: 0;  
    z-index: 999;  
} 
</style>

4.3 其他拓展功能样式

(1) 可参考Hello-UniApp的自定义导航栏示例

新建hello uni-app项目.png
自定义导航栏示例.png
(2) 也可参考ColorUI的自定义导航示例
ColorUI-UniApp.png
上一篇下一篇

猜你喜欢

热点阅读