基于plus.nativeObj.View 的全局loading


function createPopup(data) {
	let loading = uni.getStorageSync('loading')
	console.log(loading,'==============')
	const $iconUrl = loading.loadingPath? loading.loadingPath: "/static/loading/default/loading.gif";
	const iconWidth = loading.loadingWidth || 30
	const iconHeight = loading.loadingHeight || 30
	const screenWidth = plus.screen.resolutionWidth;
	const screenHeight = plus.screen.resolutionHeight;
	//弹窗容器宽度
	const popupViewWidth = screenWidth * 0.6;
	// 弹窗容器的Padding
	const viewContentPadding = 20;
	// 弹窗容器的宽度
	const viewContentWidth = popupViewWidth - (viewContentPadding * 2);
	// 弹窗容器高度
	let popupViewHeight = viewContentPadding * 3 + 60;
	// 弹窗遮罩层
	let maskLayer = new plus.nativeObj.View("maskLayer", { //先创建遮罩层
		top: '0px',
		left: '0px',
		height: '100%',
		width: '100%',
		backgroundColor: loading.loadingBg? loading.loadingBg: 'rgba(255,255,255,0.8)'
	});
	// 弹窗内容
	let popupView = new plus.nativeObj.View("popupView", { //创建底部图标菜单
		tag: "rect",
		top: (screenHeight - popupViewHeight) / 2 + "px",
		left: '20%',
		height: popupViewHeight + "px",
		width: "60%",
	});
	let elementList = [
		// {
		// 	tag: 'rect', //背景色
		// 	color: '#FFFFFF',
		// 	rectStyles: {
		// 		radius: "8px"
		// 	}
		// },
		// {
		// 	tag: 'font',
		// 	id: 'title',
		// 	text: "加载中",
		// 	textStyles: {
		// 		size: '16px',
		// 		color: "#333",
		// 		weight: "bold",
		// 		verticalAlign: "middle",
		// 		whiteSpace: "normal"
		// 	},
		// 	position: {
		// 		top: 10 + 'px',
		// 		height: "30px",
		// 	}
		// },
		{
			src: $iconUrl,
			id: "logo",
			tag: "img",
			position: {
				top: "20px",
				left: (popupViewWidth - iconWidth) / 2  + "px",
				width: iconWidth +'px',
				height: iconHeight +'px',
			}
		},
	];
	popupView.draw(elementList);
	const showLoading = () => {
		// 显示弹窗
		maskLayer.show();
		popupView.show();
	}
	const hideLoading = () => {
		// 隐藏弹窗
		maskLayer.hide();
		popupView.hide();
	}
	// 改变进度条
	return {
		showLoading,
		hideLoading
	};
}

const {showLoading,hideLoading} = createPopup()
uni.$showLoading = showLoading
uni.$hideLoading = hideLoading
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

狗_都不做前端

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

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

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

打赏作者

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

抵扣说明:

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

余额充值