WebView加载图片部分不在app中打开!!

在代码中写WebView加载图片链接后发现部分打开是需要浏览器器的,而不是在app内部打开!

初步研究发现WebView有两个方法:

setWebChromeClient 和 setWebClient

setWebClient:主要处理解析,渲染网页等浏览器做的事情

setWebChromeClient:辅助WebView处理Javascript的对话框,网站图标,网站title,加载进度等 

WebViewClient就是帮助WebView处理各种通知、请求事件的。


在代码中加入一个方法即可解决该问题,下面为代码:

<pre name="code" class="java">public class ActivitDetilActivity extends Activity {
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		requestWindowFeature(Window.FEATURE_NO_TITLE);
		setContentView(R.layout.activitydetilactivity);
		
		TextView titleName = (TextView) findViewById(R.id.app_title_name2);
		titleName.setText("活动推荐");
		TextView titleBack = (TextView) findViewById(R.id.title_back2);
		titleBack.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View arg0) {
//				Intent intent = new Intent(activitdetilActivity.this,MoreActivities.class);
//				startActivity(intent);
				finish();
			}
		});
		
		init();
	}

	private void init() {
		WebView wv_detil  =  (WebView) findViewById(R.id.wv_detil);
		wv_detil.getSettings().setJavaScriptEnabled(true);   
		wv_detil.getSettings().setDefaultTextEncodingName("UTF-8");
		//适应屏幕
		wv_detil.getSettings().setUseWideViewPort(true);
		wv_detil.getSettings().setLoadWithOverviewMode(true);
		//缩放
		//缩放开关u 
		wv_detil.getSettings().setSupportZoom(true);
		//设置此属性,仅支持双击缩放,不支持触摸缩放(在android4.0是这样,其他平台没试过)
		// 设置是否可缩放
		wv_detil.getSettings().setBuiltInZoomControls(true);
		String url = getIntent().getStringExtra("url");
		
		wv_detil.loadUrl(url);
		wv_detil.setWebViewClient(new WebViewClient(){
	           @Override
	        public boolean shouldOverrideUrlLoading(WebView view, String url) {
	               //返回值是true的时候控制去WebView打开,为false调用系统浏览器或第三方浏览器
	            view.loadUrl(url);
	            return true;
	        }
	    });
	}
}


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值