Android开发中imageview控件用的还是相当多的,有时候会遇到一个特别头疼的问题:imageview加载的图片大小不一定完全适配合适,不同的手机显示的图片会自动裁剪一些内容,导致不同屏幕分别率的手机图片显示不一样。
基于这样一个状况,imageview的scaleType属性能帮助解决上述的问题。
scaleType表示的是ImageView控件大小和所加载的图片大小之间的关系。其属性值和说明如下:
-
android:scaleType=“center”
显示在ImageView的中心,图片大小不变。此时,图片比imageview大的部分将会被裁剪掉。 -
android:scaleType=“center_inside”
显示在ImageView的中心,图片会缩放。此时,图片如果比imageview大则缩小到一样大,图片较小时不缩放。 -
android:scaleType=“center_crop”
该属性即填充内容为目的,如果图片大于imageview,按比例缩小,居中显示在ImageView上。如果图片小于imageview,则按比例拉升原图的宽和高,填充ImageView居中显示。 -
android:scaleType=“matrix”
不改变原图的大小,从imageview的左上角开始绘制,超出部分做剪切处理。 -
androd:scaleType=“fit_xy”
把图片按照指定的大小在imageview中显示,拉伸显示图片,不保持原比例,填满ImageView.该属性与“center_crop”的区别是前者不按原比例缩放,后者按照比例缩放。 -
android:scaleType=“fit_start”
把原图按照比例放大缩小到ImageView的高度,显示在ImageView的start(前部/上部)。 -
android:sacleType=“fit_center”
把原图按照比例放大缩小到ImageView的高度,显示在ImageView的center(中部/居中显示)。 -
android:scaleType=“fit_end”
把原图按照比例放大缩小到ImageView的高度,显示在ImageVIew的end(后部/尾部/底部)