wangjiahai 2 years ago
parent
commit
6f5e27293e
  1. 24
      common/nav-calc-utils.js

24
common/nav-calc-utils.js

@ -5,8 +5,8 @@ function navParams() {
menuButton: { menuButton: {
width: 0, width: 0,
height: 0, height: 0,
// 原生导航栏是否支持移除 // 原生导航栏是否禁止移除
nativeNavCanRemove: true nativeNavNoRemove: true
}, },
// 导航栏 // 导航栏
// 可自定义,wx小程序会强制更改 // 可自定义,wx小程序会强制更改
@ -45,29 +45,33 @@ function navParams() {
params.os.osName = info.osName params.os.osName = info.osName
// 获取胶囊相关内容 // 获取胶囊相关内容
// 以下示例数据都 来自 iPhoneX 7nWidth
// 获取胶囊相关内容
// 以下示例数据都 来自 iPhoneX 75%大小的微信模拟器
// #ifdef MP-WEIXIN // #ifdef MP-WEIXIN
let menuButton = uni.getMenuButtonBoundingClientRect(); let menuButton = uni.getMenuButtonBoundingClientRect();
params.menuButton.width = menuButton.width; params.menuButton.width = menuButton.width;
params.menuButton.height = menuButton.height; params.menuButton.height = menuButton.height;
let paddingTop = menuButton.top - params.statusBarHeight; let paddingTop = menuButton.top - params.statusBarHeight;
let paddingBottom = 0; let paddingBottom = 0;
let realNavHeight = 0
if (params.os.osName === 'ios') { if (params.os.osName === 'ios') {
paddingBottom = paddingTop * 2; paddingBottom = paddingTop * 2;
realNavHeight = params.menuButton.height;
params.navBar.fontSize = 13; params.navBar.fontSize = 13;
params.navBar.style = 'center'; params.navBar.style = 'center';
params.menuButton.nativeNavNoRemove = false;
} else if (params.os.osName === 'android') { } else if (params.os.osName === 'android') {
paddingBottom = paddingTop; paddingBottom = paddingTop;
realNavHeight = params.menuButton.height;
params.navBar.fontSize = 17; params.navBar.fontSize = 17;
params.navBar.style = 'left'; params.navBar.style = 'left';
params.menuButton.nativeNavNoRemove = false;
} else if (params.os.osName === 'windows') { } else if (params.os.osName === 'windows') {
paddingBottom = paddingTop; // 胶囊windows返回的貌似不对
params.navBar.fontSize = 17; // 所以 padding realNavHeight 都自己设置
paddingTop = 5;
paddingBottom = 5;
realNavHeight = 32
params.navBar.fontSize = 14;
params.navBar.style = 'center'; params.navBar.style = 'center';
params.menuButton.nativeNavCanRemove = false;
} else { } else {
// Harmony,Android // Harmony,Android
paddingBottom = paddingTop; paddingBottom = paddingTop;
@ -76,7 +80,7 @@ function navParams() {
// windows、macos 未测试 // windows、macos 未测试
} }
// params.navBar.paddingRight = params.window.width - menuButton.right; // params.navBar.paddingRight = params.window.width - menuButton.right;
params.navBar.height = params.menuButton.height + paddingTop + paddingBottom; params.navBar.height = realNavHeight + paddingTop + paddingBottom;
// 导航栏可用宽度 屏幕左边界到胶囊左边界 // 导航栏可用宽度 屏幕左边界到胶囊左边界
params.navBar.enableWidth = menuButton.left; params.navBar.enableWidth = menuButton.left;
params.navBar.disableWidth = params.window.width - params.navBar.enableWidth; params.navBar.disableWidth = params.window.width - params.navBar.enableWidth;

Loading…
Cancel
Save