uniapp自定义小程序头部兼容各种机型

<view :style="{'height':statusBarHeight+'px'}"></view>
        <view class="micro-head" :style="{'height':microButtonHeight+'px'}">
            <view class="back-btn" @click="backClick">
                <uni-icons class="icon" type="arrow-left" size="32" color="white"></uni-icons>
        </view>
  </view>
getTopIconDistance() {
                uni.getSystemInfo({
                    success: (res) => {
                        // 获取手机顶部状态栏的高度
                        const statusBarHeight = res.statusBarHeight || 0;

                        // 获取导航栏的高度(手机状态栏高度 + 胶囊高度 + 胶囊的上下间距)
                        const menuButtonInfo = uni.getMenuButtonBoundingClientRect();
                        const navBarHeight = menuButtonInfo.height + (menuButtonInfo.top - statusBarHeight) *
                            2;

                        // 计算顶部图标距离
                        const topIconDistance = statusBarHeight + navBarHeight;

                        //小程序胶囊占高度
                        const microButtonHeight = menuButtonInfo.height+((menuButtonInfo.top - statusBarHeight)*2)

                        // 打印顶部图标距离
                        uni.showToast({
                            title: '顶部距离:' + topIconDistance
                        });

                        this.safeAreaInsets = topIconDistance;
                        this.microButtonHeight = microButtonHeight;
                        this.statusBarHeight = statusBarHeight;
                    },
                    fail: (err) => {
                        console.error('获取系统信息失败:', err);
                    },
                });
            }
    .micro-head {
        display: flex;
        align-items: center;
    }

    .back-btn {
        margin-left:6px;
        height: 32px;
        width: 32px;
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值