imageView属性之imageView.setScaleType详解攻略


imageView.setScaleType是imageView为了适配屏幕需要的一个属性。
设置的方式包括:
1. 在layout xml中定义android:scaleType=”CENTER”
2. 或在代码中调用imageView.setScaleType(ImageView.ScaleType.CENTER);

二、
属性取值大概有这么几个:
1. CENTER /center 按图片的原来size居中显示,当图片长/宽超过View的长/宽,则截取图片的居中部分显示
2. CENTER_CROP / centerCrop 按比例扩大图片的size居中显示,使得图片长(宽)等于或大于View的长(宽)
3. CENTER_INSIDE / centerInside 将图片的内容完整居中显示,通过按比例缩小或原来的size使得图片长/宽等于或小于View的长/宽
4. FIT_CENTER / fitCenter 把图片按比例扩大/缩小到View的宽度,居中显示
5. FIT_END / fitEnd 把图片按比例扩大/缩小到View的宽度,显示在View的下部分位置
6. FIT_START / fitStart 把图片按比例扩大/缩小到View的宽度,显示在View的上部分位置
7. FIT_XY / fitXY 把图片不按比例扩大/缩小到View的大小显示
8. MATRIX / matrix 用矩阵来绘制.
三、详解:
1·ImageView.ScaleType.center:图片位于视图中间,但不执行缩放。
2·ImageView.ScaleType.CENTER_CROP 按统一比例缩放图片(保持图片的尺寸比例)便于图片的两维(宽度和高度)等于或者大于相应的视图的维度
3·ImageView.ScaleType.CENTER_INSIDE按统一比例缩放图片(保持图片的尺寸比例)便于图片的两维(宽度和高度)等于或者小于相应的视图的维度
4·ImageView.ScaleType.FIT_CENTER缩放图片使用center
5·ImageView.ScaleType.FIT_END缩放图片使用END
6·ImageView.ScaleType.FIT_START缩放图片使用START
7·ImageView.ScaleType.FIT_XY缩放图片使用XY
8·ImageView.ScaleType.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 
     android:id="@+id/image" 
     android:layout_width="fill_parent"  
     android:layout_height="fill_parent" 
     android:scaleType="center" 
     android:src="@drawable/candle" 
/> 

每天进步一点点哦!!!

你可能感兴趣的:(安卓基础)