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的详细说明
最新推荐文章于 2024-05-12 03:12:30 发布