WebView简单使用

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 不是百度的站点地址的话,就链接到百度的首页。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值