uniapp打包app 底部导航栏自定义颜色【建议收藏】

uniapp打包app 底部导航栏自定义颜色

我做着我想要做到的事情,有人欣赏我的自信,也有人说我普信。



前言

uniapp 安卓自定义底部导航栏的颜色
开始我的有些页面是黑色的底部和上面不是一样的颜色看着好奇怪就弄了一下


一、上代码

// #ifdef APP-PLUS
	if (uni.getSystemInfoSync().platform === 'android') {
	  try {
		 const Color = plus.android.importClass("android.graphics.Color");
					const WindowManager = plus.android.importClass("android.view.WindowManager");
					const Build = plus.android.importClass("android.os.Build");
					const View = plus.android.importClass("android.view.View");
					plus.android.importClass("android.view.Window");

					const mainActivity = plus.android.runtimeMainActivity();
					const window = mainActivity.getWindow();

					// Android 10+ 关闭对比度强制
					if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
						window.setNavigationBarContrastEnforced(false);
					}

					// 自定义颜色值 #F5F3FC
					const customColor = Color.parseColor("#F5F3FC");

					// Android 5.0+ 设置导航栏为自定义颜色
					if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
						window.setNavigationBarColor(customColor); // 设置自定义颜色

						// Android 8.0+ 设置深色按钮(适配浅色背景)
						if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
							const decorView = window.getDecorView();
							const flags = decorView.getSystemUiVisibility();
							// 添加浅色导航栏标志(使按钮变深色)
							decorView.setSystemUiVisibility(flags | View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR);
						}
					}

					// 移除半透明标志确保纯色生效
					if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
						window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
					}			
	  } catch (e) {
					console.error('修改导航栏颜色失败:', e);
	  }			
	}
// #endif

总结

亲测有效

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杰哥力挽狂澜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值