第13天webview
作者:互联网
第13天webview
一.html页面:
<!DOCTYPE html>
<html>
<!--头-->
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
//定义方法:修改文字
function text(){
//找到text_id控件修改
document.getElementById("text_id").innerText="哈哈哈哈";
}
function text_arg(str){
//找到text_id控件修改
document.getElementById("text_id").innerText=str;
}
//定义方法:修改图片
function image(){
//找到img_id控件修改
document.getElementById("img_id").src="img/HBuilder.png";
}
function image_arg(img_src){
//找到img_id控件修改
document.getElementById("img_id").src=img_src;
}
//js调用安卓代码
function tusi(){
window.android.tusi();
}
</script>
</head>
<!--身体-->
<body>
<p id="text_id">我是文字</p>
<img id="img_id" width="200" height="200"
src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1562587162663&di=58b961a5726901f5d3b97f8924ddc189&imgtype=0&src=http%3A%2F%2Fb-ssl.duitang.com%2Fuploads%2Fitem%2F201811%2F10%2F20181110102045_jwqny.jpg"/>
<button id="bt1_id" onclick="tusi()">调用安卓代码弹出对话框</button>
<button id="bt2_id" onclick="text('湖的样真帅')">修改文字</button>
<button id="bt3_id" onclick="image_arg('img/HBuilder.png')">修改图片</button>
</body>
</html>
二.Webview显示网页:
1.加载本地assert下面的html
//(1):加载本地网页
webView.loadUrl("file:///android_asset/demo2.html");//加载本地assert下的html页面
2.加载外部网页
//(2):加载外部网页:必须设置setWebViewClient,不然只能通过本地浏览器打开
webView.loadUrl("http://www.baidu.com");
webView.setWebViewClient(new WebViewClient(){//将网页加载到自己的webview中
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
view.loadUrl("http://www.baidu.com");
return true;
}
});
3.加载页面的过程中显示进度
三.混合开发:安卓和js做交互:
1.安卓中调用js代码
想要混合开发,必须设置可以调用js
webView.getSettings().setJavaScriptEnabled(true);//设置允许访问js
webView.getSettings().setAllowFileAccess(true);//设置允许访问文件
//无参方法
mWebView.loadUrl("JavaScript:text()");
//有参方法
webView.loadUrl("JavaScript:text_arg('湖的样真帅')");
webView.loadUrl("JavaScript:image_arg('http:\\/\\/www.qubaobei.com\\/ios\\/cf\\/uploadfile\\/132\\/9\\/8289.jpg')");
//加载SD卡中图片
webView.loadUrl("JavaScript:image_arg('file:////sdcard/a.jpg')");
2.js调用安卓代码
1.生命接口标记名称
mWebView.addJavascriptInterface(newJsInteration(),"android");
2.安卓中提供方法
@JavascriptInterface
public void tusi(){
Toast.makeText(this, "10086", Toast.LENGTH_SHORT).show();
}
3.html页面
//js调用安卓代码
function tusi(){
window.android.tusi();
}
标签:loadUrl,13,text,js,id,webview,webView,加载 来源: https://blog.csdn.net/qq_34178710/article/details/99689359