Android 中的 WebView实现Html5视屏标签
自Android 4.4起,Android中的WebView开始基于Chromium(谷歌浏览器)支持浏览器的一系列功能,webkit解析网页各个节点,这个改变,使得WebView的性能大幅度提升,并且对HTML5, CSS3, and JavaScript有了更好的支持。
案列主要介绍WebView加载带有HTML5的视频标签的网页,点击网页里面的链接还是在当前的webview里跳转,不跳到浏览器那边,防止WebView内存泄漏等。
效果图:
Html网页图:
代码
public class MainActivity extends Activity { private WebView webView; private String url = "http://lbh.zhangwoo.cn/?m=home&c=index&a=home"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initWebView(); } @SuppressWarnings("deprecation") @SuppressLint("SetJavaScriptEnabled") private void initWebView() { webView = (WebView) findViewById(R.id.activity_webview); webView.requestFocus(); webView.setHorizontalScrollBarEnabled(false); webView.setVerticalScrollBarEnabled(false); WebSettings web = webView.getSettings(); web.setJavaScriptEnabled(true); web.setBuiltInZoomControls(true); web.setSupportZoom(true); web.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NARROW_COLUMNS); web.setUseWideViewPort(true); web.setLoadWithOverviewMode(true); web.setSavePassword(true); web.setSaveFormData(true); //web.setBlockNetworkImage(true);// 把图片加载放在最后来加载渲染 webView.loadUrl(url); webView.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { // 重写此方法表明点击网页里面的链接还是在当前的webview里跳转,不跳到浏览器那边 view.loadUrl(url); return true; } @Override public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) { // 重写此方法可以让webview处理https请求 handler.proceed(); } }); } @Override // 设置回退 // 覆盖Activity类的onKeyDown(int keyCoder,KeyEvent event)方法 public boolean onKeyDown(int keyCode, KeyEvent event) { if ((keyCode == KeyEvent.KEYCODE_BACK) && webView.canGoBack()) { webView.goBack(); // goBack()表示返回WebView的上一页面 return true; } return false; } /*** * 防止WebView加载内存泄漏 */ @Override protected void onDestroy() { super.onDestroy(); webView.removeAllViews(); webView.destroy(); } }
网络权限
<uses-permission android:name="android.permission.INTERNET"/>
相关推荐
wusiye 2020-10-23
表格的现在还是较为常用的一种标签,但不是用来布局,常见处理、显示表格式数据。在HTML网页中,要想创建表格,就需要使用表格相关的标签。<table> <tr> <td>单元格内的文字</td> ...
gufudhn 2020-08-09
nercon 2020-08-01
swiftwwj 2020-07-21
nercon 2020-07-16
饮马天涯 2020-07-05
Lophole 2020-06-28
gufudhn 2020-06-12
csstpeixun 2020-06-11
huzijia 2020-06-09
WebVincent 2020-06-06
行吟阁 2020-05-30
qsdnet我想学编程 2020-05-26
gufudhn 2020-05-25
qsdnet我想学编程 2020-05-19
suixinsuoyu 2020-05-15
HSdiana 2020-05-15
PioneerFan 2020-05-15