Android使用WebView控件可轻松将网页嵌入您的App中,并且支持j相互调用。今天我来讲一下WebView的两种方式。
一、不使用自己的写的布局文件,直接使用WebView。并且具有浏览器功能,可返回上次搜查网页,在退到最后一页时将退出Activity。
package com.example.application;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.KeyEvent;
import android.view.View;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class WebActivity extends AppCompatActivity {
WebView mwebview;
private WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mwebview = new WebView(this); //实例化WebView对象
mwebview.getSettings().setJavaScriptEnabled(true); //设置WebView属性,能够执行Javascript脚本
mwebview.loadUrl("http://www.baidu.com"); //加载需要显示的网页
setContentView(mwebview); //设置Web视图
}
@Override
//设置回退
//覆盖Activity类的onKeyDown(int keyCoder,KeyEvent event)方法
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && mwebview.canGoBack()) {
mwebview.goBack(); //goBack()表示返回WebView的上一页面
return true;
}
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { //判断是否是初始化的第一个页面
onDestroy();
return true;
}
return false;
}
@Override
protected void onDestroy() {
webView.destroy();
super.onDestroy();
}
}
二、使用自己写的布局文件。
布局文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<WebView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/web_view"
>
</WebView>
</LinearLayout>
Java代码
setContentView(R.layout.activity_web);
webView = (WebView) findViewById(R.id.web_view);
webView.getSettings().setJavaScriptEnabled(true); //设置WebView属性,能够执行Javascript脚本
webView.loadUrl("http://www.baidu.com/"); */ //加载需要显示的网页
webView.setWebViewClient(new HelloWebViewClient ()); //设置Web视图*/