在做安卓图片加载的时候,由于手机屏幕受限,很多大图加载过来的时候,我们要求等比例缩放,比如按照固定的宽度,等比例缩放高度,使得图片的尺寸比例得到相应的缩放,但图片没有变形。显然按照android: scaleType不能实现,因为会有很多限制,所以必须要自己写算法。
通过滑翔来缩放
其实滑翔提供了这样的方法。具体是显示继承转换的setResource方法。
(1)先获取网络或本地图片的宽高
(2)获取需要的目标宽
(3)按比例得到目标的高度
(4)按照目标的宽高创建新图
/* * *===========================================*版本:1.0 *描述:设置图片等比缩放 * & lt; p>滑动处理图片。;/p> *===========================================*/公开课TransformationUtils延伸ImageViewTarget{ 私人ImageView目标; 公共TransformationUtils (ImageView目标){ 超级(目标); 这一点。目标=目标; } @Override 保护无效setResource(位图资源){ view.setImageBitmap(资源);//获取原图的宽高 int宽度=resource.getWidth (); int高度=resource.getHeight ();//获取imageView的宽 int imageViewWidth=target.getWidth ();//计算缩放比例 浮动sy=(浮动)(imageViewWidth * 0.1)/(浮动)(宽* 0.1);//计算图片等比例放大后的高 int imageViewHeight=(int)(高* sy); ViewGroup。LayoutParams params=target.getLayoutParams (); 参数个数。身高=imageViewHeight; target.setLayoutParams (params); } }
之后在滑翔设置变换
Glide.with(这) .load (newActiviteLeftBannerUrl) .asBitmap () .placeholder (R.drawable.placeholder) .into(新TransformationUtils(目标));
转换这是滑动的一个非常强大的功能了,它允许你在负载图片→到ImageView中间这个过成对图片做一系列的变换。比如你要做图片高斯模糊,添加圆角,做度灰处理,圆形图片等等都可以通过转换来完成。
以上所述是小编给大家介绍的Android使用滑翔加载网络图片等比例缩放的实现方法,希望对大家有所帮助,如果大家有任何疑问请给我留的言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!