1、Android Studio
文档地址:developer.android.google.cn/studio/rele…
Android studio中的版本号会影响到不同手机版本运行的问题,所以必要时需要更新Android studio版本,相对应hBuilderx也要相对应到最新版本
2、虚拟机的配置
Tools--AVD Manager里面去创建就可以了
mui.openWindow({
url: finallyUrl,
id: "newBb",
styles: {
background: '#fff',
top: '45px',
bottom: '0px',
titleNView: { // 窗口的标题栏控件
titleText: "", // 标题栏文字,当不设置此属性时,默认加载当前页面的标题,并自动更新页面的标题
titleColor: "#000000", // 字体颜色,颜色值格式为"#RRGGBB",默认值为"#000000"
titleSize: "17px", // 字体大小,默认17px
backgroundColor: "#F7F7F7", // 控件背景颜色,颜色值格式为"#RRGGBB",默认值为"#F7F7F7"
progress: { // 标题栏控件的进度条样式
color: "#00FF00", // 进度条颜色,默认值为"#00FF00"
height: "2px" // 进度条高度,默认值为"2px"
},
splitLine: { // 标题栏控件的底部分割线,类似borderBottom
color: "#CCCCCC", // 分割线颜色,默认值为"#CCCCCC"
height: "1px" // 分割线高度,默认值为"2px"
},
// autoBackButton: true,
buttons: [ //Array[ WebviewCustomButtonStyles ]类型,标题栏上的自定义按钮.建的自定义按钮数目不限制,实际应用中建议最多设置4个按钮(包括左侧返回按钮).
{
color: '', //String类型,按钮上文字颜色.可取值:"#RRGGBB"格式字符串,"rgba(R,G,B,A)".默认值为窗口标题栏控件的标题文字颜色.
colorPressed: '', //String类型,按下状态按钮文字颜色.String类型,按钮上文字颜色.可取值:"#RRGGBB"格式字符串,"rgba(R,G,B,A)".默认值为color属性值自动调整透明度为0.3.
float: '', //String类型,按钮在标题栏上的显示位置.right:在标题栏中靠右排列显示.left:在标题栏中靠左侧排列显示(在返回键后). 默认:right.
fontWeight: '', //String类型,按钮上文字的粗细.normal:标准字体.bold:加粗字体.默认:normal.
fontSize: '', //String类型,按钮上文字大小.可取值:字体高度像素值,数字加"px"格式字符串.
fontSrc: '', //String类型,按钮上文字使用的字体文件路径.相对路径:相对于当前页面的host位置,如"a.jpg",注意当前页面为网络地址则不支持.绝对路径:如Android平台"/sdcard/logo.png",此类路径通常通过其它5+ API获取的.扩展相对路径URL(RelativeURL):以"_"开头的相对路径,如"_www/a.jpg".本地路径URL:以"file://"开头,后面跟随系统绝对路径.
position:'left',
onclick: (e) => {
console.log(JSON
.stringify(e))
plus.webview
.getWebviewById(
'newBb')
.close();
}, //WebviewCustomButtonCallback类型,按钮点击后触发的回调函数.回调函数中将返回此JSON对象
text: 'X' //String类型,按钮上显示的文字.推荐使用一个字符,超过一个字符可能无法正常显示,使用字体图标时unicode字符表示必须'\u'开头,如"\ue123"(注意不能写成"\e123").
}
],
}
},
subNViews: [{
styles: {
width: '20px',
height: '20px',
backgroundColor: 'pink',
top: '60px',
right: '20px'
}
}],
backButtonAutoControl: 'close',
waiting: {
autoShow: true, //自动显示等待框,默认为true
title: '正在加载页面...' //等待对话框上显示的提示内容
}
})
app跳转到另外app页面(使用的是链接)
// 跳转到新版的链接上去
function JumpLink(pageAddress,idx) {
var httpUrl = serverConfig.newhttpUrl;
var xbToken = localStorage.getItem("Access-Token"); //新版tokenACCESS_TOKEN
var finallyUrl="";
if(idx=='1'){
// 页面不带参数
finallyUrl= httpUrl + pageAddress +"?token=" + xbToken;
}else{
finallyUrl= httpUrl + pageAddress + "&token=" + xbToken;
}
console.log(finallyUrl)
var mainPage = mui.preload({
"id": finallyUrl,
"url": finallyUrl
});
var main_loaded_flag = false;
mainPage.addEventListener("loaded", function() {
main_loaded_flag = true;
});
var id=setInterval(function() {
if (main_loaded_flag) {
clearInterval(id);
mainPage.show("pop-in");
mui.fire(mainPage);
}
}, 200);
// mui.openWindow({
// url: encodeURI(finallyUrl),
// id: 'index',
// show: {
// autoShow: true, //页面loaded事件发生后自动显示,默认为true
// aniShow: 'slide-in-right', //页面显示动画,默认为”slide-in-right“;
// duration: 3000 //页面动画持续时间,Android平台默认100毫秒,iOS平台默认200毫秒;
// },
// waiting: {
// autoShow: true, //自动显示等待框,默认为true
// title: '正在加载...', //等待对话框上显示的提示内容
// options: {
// width: 300, //等待框背景区域宽度,默认根据内容自动计算合适宽度
// height: 300, //等待框背景区域高度,默认根据内容自动计算合适高度
// }
// },
// })
// 第二种方式跳转到外部链接
// plus.webview.currentWebview().setStyle({
// scrollIndicator:'none'
// })
// var ws=plus.webview.currentWebview();
// var embed=plus.webview.create(finallyUrl,'embed',{top:'45px',bottom:'0px'})
// ws.append(embed)
// embed.addEventListener('loading',function(){ //当页面加载时
// plus.nativeUI.showWaiting('',{style:'black',modal:false,background:'rgba(0,0,0,0)'});
// },false);
// embed.addEventListener('loaded',function(){ //当页面加载完成时
// plus.nativeUI.closeWaiting();
// },false);
}