1、Xml文件的编写
<WebView
android:id="@+id/webView1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true" />
2、Java代码的编写
package com.phone.day22_webview;
import android.app.Activity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.Menu;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
/**
* WebView 加载网页
*
*
*
* @author Mr.Zhao
*
*/
public class MainActivity extends Activity {
private WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webView = (WebView) findViewById(R.id.webView1);
// 一定要将url 写全了 加上 http
/**
* Uri 统一资源标识符: 格式: schema:// host:port/path 约束://主机名:端口号/路径 tel://
* sms:// sendsms:// Url http://
*
*/
webView.loadUrl("http://www.baidu.com");
// 可以加载本地html 文件
// webView.loadUrl("file:///android_asset/XXXX.html");
WebSettings settings = webView.getSettings();
// 支持js语言
settings.setJavaScriptEnabled(true);
// 设置支持页面缩放
settings.setBuiltInZoomControls(true);
settings.setSupportZoom(true);
// 自动将网页设置为一个合理的比例 显示出来
settings.setUseWideViewPort(true);
settings.setLoadWithOverviewMode(true);
// 在当前webView中 打开 网页
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// TODO Auto-generated method stub
view.loadUrl(url);
// 返回值为true 则调用当前的WebView 显示 为false 则 调用系统默认浏览器 显示
return true;
}
});
// 代表着加载的进度
webView.setWebChromeClient(new WebChromeClient() {
@Override
public void onProgressChanged(WebView view, int newProgress) {
// TODO Auto-generated method stub
super.onProgressChanged(view, newProgress);
if (newProgress == 100) {
// 加载完成
} else {
// 加载中
}
}
});
}
/**
*
* 监听按键
*
* -- 物理按键与软键盘
*/
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
// 判断按下的是返回键 并且 webView 是可以返回上一级的时候
if (keyCode == KeyEvent.KEYCODE_BACK && webView.canGoBack()) {
//返回上一级
webView.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}