显示适应手机屏幕宽度的长图手机屏幕图片「显示适应手机屏幕宽度的长图」
导读:如果要显示普通的图片,现在的显示图片框架主要有Glide,Picasso,Fresco,还有已经停止维护更新的 Image Loader。之前项目中遇到要显示一个长图(宽高比远大于普通手机的宽高比),而且需要宽度适应手机宽度。发现按照普通的图片显示...
如果要显示普通的图片,现在的显示图片框架主要有Glide,Picasso,Fresco,还有已经停止维护更新的 Image Loader。之前项目中遇到要显示一个长图(宽高比远大于普通手机的宽高比),而且需要宽度适应手机宽度。发现按照普通的图片显示,用第三方图片框架无论怎样都达不到效果。如果要适应手机宽度,不能压缩或者拉伸图片的话,只能显示部分图片,长于手机屏幕的部分会被截取。如果要适应手机宽度,又要全部显示图片,只能压缩图片。如果不能压缩或者拉伸图片,又要全部显示图片,那么适应不了手机宽度。
看来,要实现图片适应手机宽度,不能压缩或者拉伸图片,又要全部显示图片,这个效果实现不了了。我折腾了很久,后面想到webview不是也可以显示图片吗?而且它可以上下滑动,图片多长都能显示出来。于是我尝试了一下。
1.布局定义一个webview:
<WebView android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/myweb_view" />
2.在activity上实现代码:
WebView myWebView=this.findViewById(R.id.myweb_view); //拼接了部分代码组成html url=图片的链接; String headhtml="<p><img src=""; String foothtml=""/></p>"; String htmlstr=headhtml+url+foothtml; htmlstr = htmlstr.replaceAll("<img", "<img width="100%"");//保证图片宽度适应手机 myWebView.loadDataWithBaseURL(null, "<html><body>" + htmlstr + "</body></html>", "text/html", "utf-8", null);
3.最后,达到我想要的效果:长图适应手机宽度,不拉伸或者压缩图片,能显示全部图片,上下滑动即可。
版权声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕,E-mail:xinmeigg88@163.com