现在混合开发越来越火热,WebView的使用也是越来越频繁,今天详细介绍一下webview的常用属性和方法,以及开发时遇到的坑
使用
xml中定义
<WebView
android:id="@+id/main_webview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layerType="software"
android:fadingEdge="none"
android:fadingEdgeLength="0dp"
android:scrollbars="none"/>
1
2
3
4
5
6
7
8
android:layerType="software"硬件加速 layerType与WebView白屏
android:fadingEdge="none"设置拉滚动条时 ,边框渐变的放向。none(边框颜色不变),horizontal(水平方向颜色变淡),vertical(垂直方向颜色变淡)。
android:fadingEdgeLength="0dp"用来设置边框渐变的长度
android:scrollbars="none"去掉webview的滚动条
加载html的四种方式
网络url
webView.loadUrl("https://blog.csdn.net/zyw0101");
(注:如果页面加载后自动跳转默认浏览器,则需要webView.setWebViewClient(new WebViewClient());,下面会详细介绍)
assets文件下的html
webView.loadUrl("file:///android_asset/my.html");
sd卡中的html
webView.loadUrl("file:///" + Environment.getExternalStorageDirectory() + "/my.html");
(注:访问本地文件需要设置setAllowFileAccess为true,同时开启读取权限)
直接显示html代码
webView.loadDataWithBaseURL(null, "<!DOCTYPE html>\n" + "<html>\n" + "<head>\n" + "\t<title>测试网页</title>\n" + "</head>\n" + "<body>\n" + "<p>直接显示html代码</p>\n" + "</body>\n" + "</html>