码迷,mamicode.com
首页 > 其他好文 > 详细

ImageView 的 scaleType 属性

时间:2014-09-14 22:09:57      阅读:292      评论:0      收藏:0      [点我收藏+]

标签:java   imageview   

在使用ImageView时,常常会用到:

ImageView的属性android:scaleType,即 ImageView.setScaleType(ImageView.ScaleType.fitCenter) 

<ImageView
    android:layout_width="60dp"
    android:layout_height="60dp"
    android:scaleType="fitCenter"
    android:src="@drawable/a1" />

scaleType有8个属性,分别是:fitCenter、fitStart、fitEnd、fitXY、center、centerCrop、centerInside、matrix

它们的区别在于:

fitCenter:ImageView的默认状态,把图片按比例扩大/缩小居中完整显示在ImageView中。
fitStart:把图片按比例扩大/缩小到View的宽度,完整显示在View的上部分位置
fitEnd: 把图片按比例扩大/缩小到View的宽度,完整显示在View的下部分位置
fitXY: 把图片不按比例扩大/缩小到View的大小,完整显示,并填满View
center:按图片的原来size居中显示,当图片长/宽超过View的长/宽,则截取图片的居中部分显示
centerCrop:按比例扩大/缩小图片的size居中显示,使得图片的高等于View的高,使得图片宽等于或大于View的宽
centerInside:将图片的内容完整居中显示,将size大于ImageView的图片进行等比例缩小,小于ImageView的图片不变,直接居中显示。
matrix:根据一个3x3的矩阵对其中图片进行缩放(从左上角起始的矩阵区域)

有图有真相:

bubuko.com,布布扣bubuko.com,布布扣

                    图1: 原图比ImageView大                                                              图二:原图比ImageView小

=====================================================================================================

ps:一开始我不明白MATRIX矩阵,网上搜索后发现原来MATRIX矩阵可以动态缩小放大图片来显示,这里不展开深入的了解,只是贴出相关语句,缩小图片:

//获得Bitmap的高和宽 
int bmpWidth=bmp.getWidth(); 
int bmpHeight=bmp.getHeight(); 
 
//设置缩小比例 
double scale=0.8; 
//计算出这次要缩小的比例 
scaleWidth=(float)(scaleWidth*scale); 
scaleHeight=(float)(scaleHeight*scale); 
 
//产生resize后的Bitmap对象 
Matrix matrix=new Matrix(); 
matrix.postScale(scaleWidth, scaleHeight); 
Bitmap resizeBmp=Bitmap.createBitmap(bmp, 0, 0, bmpWidth, bmpHeight, matrix, true);
用到ImageView控件的,可以来参考一下

ImageView 的 scaleType 属性

标签:java   imageview   

原文地址:http://blog.csdn.net/ycwol/article/details/39271183

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!