更新记录

V1.0.1(2023-09-25)

增加IOS端状态栏功能

  1. 显示隐藏状态栏
  2. 获取状态栏高度
  3. 动态修改字体为白色或黑色 注意IOS端需要在项目根目录添加Info.plist文件,并添加下面实例代码

V1.0.0(2023-09-13)

V1.0.0 (2023-09-12)

First release,Added in subsequent iterations on ios!


平台兼容性

Android Android CPU类型 iOS
适用版本区间:6.0 - 12.0 armeabi-v7a:支持,arm64-v8a:支持,x86:支持 适用版本区间:11 - 16

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios

注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择


状态栏导航栏设置

NG_StatusBar提供了状态栏导航栏的一些设置

功能介绍

  • 状态栏背景颜色设置、隐藏显示控制
  • 底部导航栏背景颜色设置
  • 状态栏高度获取

IOS端注意要点

需要在项目根目录添加 Info.plist文件,并且加入以下代码

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>UIViewControllerBasedStatusBarAppearance</key>
    <false/>
  </dict>
</plist>

使用方法

<template>
    <view>
        <button @tap="handleStatusBar(true)">手动隐藏状态栏</button>
        <button @tap="handleStatusBar(false)">手动显示状态栏</button>
        <button @tap="handleGetStatusBarHeight">获取状态栏高度</button>
        <button @tap="handleSetStyle('dark')">设置状态栏字体为黑暗模式</button>
        <button @tap="handleSetStyle('light')">设置状态栏字体为白天模式</button>
        <button @tap="handleSetStatusBarColor">手动设置状态栏背景颜色 (OnlyAndroid)</button>
        <button @tap="handleSetNavigationBarColor">手动设置导航背景颜色(OnlyAndroid)</button>
        <button @tap="handleNetworkActivity(true)">显示活动指示器</button>
        <button @tap="handleNetworkActivity(false)">隐藏活动指示器</button>

    </view>
</template>

<script>
    // 获取 module 
    var statusBarModule = uni.requireNativePlugin("NG-StatusBar")
    export default {
        data() {
            return {
                systemInfo: {}
            }
        },
        onLoad() {
            this.systemInfo = uni.getSystemInfoSync();
        },
        methods: {
            handleGetStatusBarHeight(){
                statusBarModule.handleGetHeight((arg)=>{
                    uni.showToast({
                        title:"状态栏高度"+arg,
                        icon:'none'
                    })
                })
            },
            handleStatusBar(isHide){
                if(this.systemInfo.platform == "android"){
                    statusBarModule.handleSetHidden(isHide,(arg)=>{
                        console.log(arg)
                    })
                }else{

                    /**
                     * animation: "node" || "fade" || "slide"
                     */
                    statusBarModule.handleSetHidden({
                        hidden: isHide,
                        animation: "fade"
                    },(arg)=>{
                        console.log(arg)
                    })
                }

            },
            /**
             * @param {Object} mode dark || light || defult
             */
            handleSetStyle(mode){
                if(this.systemInfo.platform == "android"){
                    statusBarModule.handleSetStyle(mode,(arg)=>{
                        console.log(arg)
                    })
                }else{
                    statusBarModule.handleSetStyle({
                        style: mode,
                        animated: true
                    },(arg)=>{
                        console.log(arg)
                    })
                }
            },
            /**
             * 只支持Android
             */
            handleSetStatusBarColor(){
                statusBarModule.handleSetColor("#27ff06",true,(arg)=>{
                    console.log(arg)
                })
            },
            /**
             * 只支持安卓
             */
            handleSetNavigationBarColor(){
                statusBarModule.handleSetNavigationBarColor("#27ff06",true,(arg)=>{
                    console.log(arg)
                })
            },
            /**
             * 只在IOS端支持
             * 显示或隐藏网咯活动指示器
             */
            handleNetworkActivity(visible){
                if(this.systemInfo.platform == "ios"){
                    statusBarModule.handleNetworkActivity({
                        visible
                    },(arg)=>{
                        console.log(arg)
                    })
                }
            },
            handleSetNavigationBarStyle(type){
                statusBarModule.handleSetNavigationBarStyle(type,(arg)=>{
                    console.log(arg)
                })
            }

        }
    }
</script>

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

暂无用户评论。

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问