imageview 对图片的缩放问题 及Scaletype的详细说明

 
  

 
  

ImageView.ScaleType / android:scaleType值的意义区别:

CENTER /center  按图片的原来size居中显示,当图片长/宽超过View的长/宽,则截取图片的居中部分显示

CENTER_CROP / centerCrop  按比例扩大图片的size居中显示,使得图片长(宽)等于或大于View的长(宽)

CENTER_INSIDE / centerInside  将图片的内容完整居中显示,通过按比例缩小或原来的size使得图片长/宽等于或小于View的长/宽

FIT_CENTER / fitCenter  把图片按比例扩大/缩小到View的宽度,居中显示

FIT_END / fitEnd   把图片按比例扩大/缩小到View的宽度,显示在View的下部分位置

FIT_START / fitStart  把图片按比例扩大/缩小到View的宽度,显示在View的上部分位置

FIT_XY / fitXY  把图片不按比例扩大/缩小到View的大小显示

MATRIX / matrix 用矩阵来绘制,动态缩小放大图片来显示。


android开放中往往有UI给的图片 直接显示到ImageView 中并且Imageview宽高刚好和图片宽高保持一致,则要把图片等比例放入ImageView中,而直接设置上述属性都不能达到想要的效果。要么填充不满控件要么就会变形。我的解决办法是:

1.android:scaleType="centerCrop"或者android:scaleType=“fitCenter" //显示图片的原始比例(并不是控件的宽高)并且填满控件

2. 图片虽然会按原始比例显示但图片会超出或者ImageView宽高大于图片宽高,那么则还需设置一个属性

android:adjustViewBounds="true",
使得图片适应控件的边界。这样问题就解决了
 
  
 
  





你可能感兴趣的:(imageview 对图片的缩放问题 及Scaletype的详细说明)