其他分享
首页 > 其他分享> > 第13天webview

第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