您的位置:首页 > 移动开发

WebView简单使用

2013-11-15 00:06 381 查看
WebView是view的子类。使用来显示网页的一个android控件,使用了webkit渲染引擎。

当然,android提供了webview的控件,你可以在xml直接指定它的显示位置之类的。下面是加载的webview ,来整页显示。

java代码:

/**
 * webview
 */
public class TestWebView extends Activity {
	private WebView wview;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		// 实例化
		wview = new WebView(this);
		// 访问页面中有javascript,设置支持javascript。
		wview.getSettings().setJavaScriptEnabled(true);
		// 加载网页
		wview.loadUrl("http://www.baidu.com");
		// 在当前的浏览器中响应链接,否则会重新打开一个浏览器应用
		wview.setWebViewClient(new WebViewClient() {
			@Override
			public boolean shouldOverrideUrlLoading(WebView view, String url) {
				// TODO Auto-generated method stub
				view.loadUrl(url);
				return true;
			}
		});
		//支持获取手势焦点
		wview.requestFocusFromTouch();
		// 加载
		setContentView(wview);
	}

	/**
	 * 重新back 键响应,当按back的时候,返回上一个页面而不是退出浏览器。
	 */
	@Override
	public boolean onKeyDown(int keyCode, KeyEvent event) {
		// TODO Auto-generated method stub
		if ((keyCode == KeyEvent.KEYCODE_BACK) && wview.canGoBack()) {
			wview.goBack();
			return true;
		}
		return super.onKeyDown(keyCode, event);
	}
}


效果:



百度搜索 一下一个字符串:



注意:

1.当你需要对链接的url进行设置的话,

/**
		 * 在当前的浏览器中响应链接,否则会重新打开一个浏览器应用.每当打开新的网页你的时候,都会触发该方法。
		 */
		wview.setWebViewClient(new WebViewClient() {
			@Override
			public boolean shouldOverrideUrlLoading(WebView view, String url) {
				// 任意长度的字符串 : "(.*?)"
				if (url.matches("(.*?)" + "baidu.com" + "(.*?)")) {
					view.loadUrl(url);
					Log.i("url", url);
				} else {
					view.loadUrl("http://www.baidu.com");
				}
				return true;
			}
		});


测试,当你访问的url 不是百度的站点地址的话,就链接到百度的首页。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: