android:scaleType centerCrop和centerInside的小小区别
16lz
2022-08-01
2019独角兽企业重金招聘Python工程师标准>>>
ImageVIew中 android:scaleType 属性设置了解:android:scaleType 设置所显示的图片如何缩放或移动,以适应ImageView的大小。可选项:fitCenter、fitStart 、 fitEnd、fitXY 、 enter、nterCrop、centerInside、matrix:一般最常用的是前面的两个,第一个更常用:1、centerCrop :以原图的几何中心点和ImagView的几何中心点为基准,按比例扩大(图片小于View的宽时)图片的size。意思是当图片小于 ImageView的大小时,居中显示,不缩放,如果大于 ImageView时则按比例扩大然后截取中间的图片显示2、centerInside :将图片的内容完整居中显示, 通过按比例缩小原来的size使得图片长(宽)等于或小于ImageView的长(宽)。注意:是完整显示,意思是图片小于ImageView的大小时,直接显示在中间不做任何操作,图片多大就显示多大;如果图片大于 ImageView时,将会把图片缩小到ImageView的大小,也不会对图片做任截取的操作3、Center : 以原图的几何中心点和ImagView的几何中心点为基准,按图片的原来size居中显示,不缩放, 当图片长/宽超过View的长/宽,则 截取图片的居中部分显示ImageView的size. 当图片小于View 的长宽时,只显示图片的size,不剪裁。 CENTER 不做任何拉伸,以居中的方式 显示图片。如果是一个100*100的ImageView,它的src是10*10的小图,则图显示在的中央,如果src是200*200的大图,截取中间的100*100 用来显示。4、matrix :保持原图大小、从左上角的点开始,以矩阵形式绘图。 MATRIX 用图片的矩阵从左边开始来画,不做任何拉伸。如果一个100*100 的ImageView,它的src是10*10的小图,则图显示在左上角,如果scr是200*200的大图,则截取它左上的100*100做显示5、fitXY :把图片按照指定的大小在View中显示,拉伸显示图片,不保持原比例,填满View. FIT_XY 不保持图片横宽比,把图片的宽和高分别 拉伸或缩放至ImageView的大小。如果是一个100*100的ImageView,它的src是20*10,则直接把它拉伸为100*100后显示,如果src是 200*100,则把它缩放为100*100后显示,此种方法容易导致图片变形。6、fitStart :把图片按比例扩大(缩小)到View的宽度,显示在View的上部分位置 。FIT_START 与 FIT_CENTER 缩放拉伸原则一样,区别是处 理过的图片居左显示。7、fitCenter :把图片按比例扩大(缩小)到View的宽度,居中显示 。FIT_CENTER 保持横宽比,对图片进行拉伸或缩放,原则是: 1)图片能完整显示; 2)图片宽或高至少有一样与ImageView的相同; 3)处理过的图片居中显示。 如果是一个100*100的ImageView,它的src是20*10,先把图片等比放大到100*50,然后再居中显示。它的src是100*200,会先把图片等比 缩放到50*100,然后再居中显示。8、fitEnd :把图片按比例扩大(缩小)到View的宽度,显示在View的下部分位置 。FIT_END 与 FIT_CENTER缩放拉伸原则一样,区别是处理过 的图片居右显示。
转载于:https://my.oschina.net/u/2541146/blog/603536
更多相关文章
- Android(安卓)matrix 控制图片的旋转、缩放、移动
- android拍照与读取相册
- Android(安卓)报错:Caused by: android.os.FileUriExposedExcepti
- Android(安卓)P SystemUI之StatusBar UI布局status_bar.xml解析
- android用户界面-组件Widget-地图视图MapView
- Android中使Dialog显示时背景不变暗
- android解决坚屏拍照和保存图片旋转90度的问题,并兼容4.0
- [Android]在App中使用相机
- Android(安卓)屏幕设置