WebView
哈哈我就是个萌新也是刚学,不过就是简单实现了把一个网页显示在手机的app上。但是不是通过打开系统浏览器来打开的网页哦!
先看看效果
是不是很简单
ExampleApp.html
<!doctype html>
<html><head>
<meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1.0, maximum-scale=1.0">
<style type='text/css'>
html { font-family:Helvetica; color:#222; }
h1 { color:steelblue; font-size:24px; margin-top:24px; }
button { margin:0 3px 10px; font-size:12px; }
.logLine { border-bottom:1px solid #ccc; padding:4px 2px; font-family:courier; font-size:11px; }
</style>
</head><body>
<h1>WebViewJavascriptBridge Demo</h1>
<div id='buttons'></div> <div id='log'></div>
</body></html>
布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.example.x.MainActivity">
<WebView
android:id="@+id/lv"
android:layout_width="match_parent"
android:layout_height="match_parent"></WebView>
</LinearLayout>
代码
MainActivity
public class MainActivity extends AppCompatActivity {
private WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webView= (WebView) findViewById(R.id.lv);
webView.loadUrl("file:///android_asset/ExampleApp.html");
WebViewClient webViewClient = new WebViewClient(){
//超链接加载,打开网页时不调用系统浏览器,而是在本WebView中显示。也可捕获超链接url,做相关操作
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
//网页开始加载
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
}
//网页加载结束
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
}
//网页加载失败
public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
super.onReceivedError(view, request, error);
}
//对Https的支持
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
handler.proceed();
}
//针对页面中每一个资源都会调用一次,用于捕获页面资源
public void onLoadResource(WebView view, String url) {
super.onLoadResource(view, url);
}
};
webView.setWebViewClient(webViewClient);
}
}