首页 > 代码库 > Android基础控件使用细节——WebView

Android基础控件使用细节——WebView

在开发中经常会出现莫名其妙的问题,做个记录,方便以后汇总,该系列将不定期更新!


WebView是android的一个组件,它的内核是基于开源WebKit引擎。如果我们对WebView进行一些美化、包装,可以非常轻松的开发出自己的浏览器。


1、禁止超链接的时候调用其他浏览器

今天调用网页显示控件,一组轮播图,根据服务器返回的URL连接做网页显示,同样的格式,有的可以正常在WebView中打开,有的会莫名其妙的弹出了浏览器选择框。很郁闷!

搜索了一下,找到解决方案,两步搞定,如下:

step1:首先是页面控件初始化部分

String url = getIntent().getStringExtra("url");
		
WebView webview = (WebView) findViewById(R.id.webView);
webview.loadUrl(url);
		
//如果希望点击链接由自己处理,而不是新开Android的系统browser中响应该链接。
//需要给WebView添加一个事件监听对象(WebViewClient),并重写shouldOverrideUrlLoading方法
webview.setWebViewClient(new MyWebViewClient());

step2:添加一个监听对象

private class MyWebViewClient extends WebViewClient { 
	public boolean shouldOverrideUrlLoading(WebView view, String url) {
		view.loadUrl(url);  
		return true;
	};
}

2、滚动条设置

webview.setHorizontalScrollBarEnabled(true);//设置水平滚动条,true表示允许使用
webview.setVerticalScrollBarEnabled(false);//设置竖直滚动条  ,false表示禁止使用

3、禁止横竖屏切换的时候,重新加载网页

需要在AndroidManifest.xml中添加android:configChanges="keyboardHidden|orientation|screenSize"

4、开启Javascript支持

webview.getSettings().setJavaScriptEnabled(true);// 开启Javascript支持

5、设置可以自动加载图片

webview.getSettings().setLoadsImagesAutomatically(true);// 设置可以自动加载图片


Android基础控件使用细节——WebView