android ImageView scaleType属性(转)

使用ImageView时经常会用到scaleType属性,如:


1

2

3

4

5

6

7

8

9

<ImageView

  android:layout_width="50dp"

  android:layout_height="50dp"

   android:scaleType="matrix"

   android:src="@drawable/sample_small" />

  

scaleType属性的各个值总是记不住之间的区别。今天找点时间总结了一下:

scaleType的属性值有:matrix   fitXY  fitStart   fitCenter  fitEnd  center   centerCrop  centerInside

它们之间的区别如下:

matrix 用矩阵来绘制(从左上角起始的矩阵区域)

fitXY  把图片不按比例扩大/缩小到View的大小显示(确保图片会完整显示,并充满View)

fitStart  把图片按比例扩大/缩小到View的宽度,显示在View的上部分位置(图片会完整显示)

fitCenter  把图片按比例扩大/缩小到View的宽度,居中显示(图片会完整显示)

fitEnd   把图片按比例扩大/缩小到View的宽度,显示在View的下部分位置(图片会完整显示)

center  按图片的原来size居中显示,当图片宽超过View的宽,则截取图片的居中部分显示,当图片宽小于View的宽,则图片居中显示

centerCrop  按比例扩大/缩小图片的size居中显示,使得图片的高等于View的高,使得图片宽等于或大于View的宽

centerInside  将图片的内容完整居中显示,使得图片按比例缩小或原来的大小(图片比View小时)使得图片宽等于或小于View的宽 (图片会完整显示)

附上两张实验的截图:

图1: 图片比ImageView大的截图

图2: 图比ImageView小 实验截图

MATRIX矩阵可以动态缩小放大图片来显示,只是贴出相关语句,缩小图片:

 1 //获得Bitmap的高和宽
 2 int bmpWidth=bmp.getWidth();
 3 int bmpHeight=bmp.getHeight();
 4
 5 //设置缩小比例
 6 double scale=0.8;
 7 //计算出这次要缩小的比例
 8 scaleWidth=(float)(scaleWidth*scale);
 9 scaleHeight=(float)(scaleHeight*scale);
10
11 //产生resize后的Bitmap对象
12 Matrix matrix=new Matrix();
13 matrix.postScale(scaleWidth, scaleHeight);
14 Bitmap resizeBmp=Bitmap.createBitmap(bmp, 0, 0, bmpWidth, bmpHeight, matrix, true);

1 <ImageView
2 android:id="@+id/image"
3     android:layout_width="fill_parent"
4     android:layout_height="fill_parent"
5     android:scaleType="center"
6     android:src="@drawable/candle"
7 />

** 要注意一点,Drawable文件夹里面的图片命名是不能大写的

时间: 2024-08-24 09:55:40

android ImageView scaleType属性(转)的相关文章

Android ImageView scaleType属性

scaleType属性 文章来源:http://blog.csdn.net/xilibi2003/article/details/6628668 使用ImageView时经常会用到scaleType属性,如: 1 <ImageView android:layout_width="50dp" 2 android:layout_height="50dp" 3 android:scaleType="matrix" 4 android:src=&q

Android ImageView(scaleType属性)图片按比例缩放

<ImageView android:id="@+id/img" android:src="@drawable/logo" android:scaleType="centerInside" android:layout_width="60dip" android:layout_height="60dip" android:layout_centerVertical="true"/&

Android ImageView(scaleType属性)(转)

(转自:http://www.open-open.com/lib/view/open1378257991687.html) 1 2 3 4 5 6 <ImageView android:id="@+id/img"     android:src="@drawable/logo"     android:<span style="color:#ff0000;">scaleType</span>="center

android ImageView组件属性

adjustViewBounds :该属性为真时可以在调整ImageView边界时保持图片的纵横比例(需要与maxHeight 或maxWidth一起使用). scaleType: 属性用以表示显示图片的方式,共有8种取值ScaleType.CENTER, ScaleType.CENTER_CROP,ScaleType.CENTER_INSIDE, ScaleType.FIT_CENTER, ScaleType.FIT_END, ScaleType.FIT_START, ScaleType.FI

Android开发之ImageView ScaleType属性

使用ImageView时经常会用到scaleType属性,如: <ImageView android:layout_width="50dp" android:layout_height="50dp" android:scaleType="matrix" android:src="@drawable/sample_small" /> scaleType属性的各个值总是记不住之间的区别.今天找点时间总结了一下: sca

Android转载四:(布局)ImageView scaleType属性测试

原始地址: http://blog.csdn.net/xilibi2003/article/details/6628668 使用ImageView时经常会用到scaleType属性,如: <ImageView android:layout_width="50dp" android:layout_height="50dp"  android:scaleType="matrix" android:src="@drawable/samp

Android ImageView.ScaleType有图有真相

本来没打算写这篇关于ScaleType的文章的,毕竟网上一大把,但是考虑到接下来的PhotoView源码的解析会用到这方面的知识,又不想让读者们再去费力去找别的相关文章,而且有的文章的讲解都是错的,所以就在这里讲解一下ImageView.ScaleType的几种不同类型究竟有什么区别,我们在实际使用的时候究竟应该采用哪一种 使用方法 xml中:android:scaleType="类型" java代码中:imageview.setScaleType(类型) 注意这个属性只有和Image

[Android] ImageView.ScaleType设置图解

ImageView的Scaletype决定了图片在View上显示时的样子,如进行何种比例的缩放,及显示图片的整体还是部分,等等. 设置的方式包括: 1. 在layout xml中定义android:scaleType="CENTER" 2. 或在代码中调用imageView.setScaleType(ImageView.ScaleType.CENTER); 接下来,将对ScaleType的值和对应的显示效果用最直观的方式——真图演示的方法,来进行说明. 首先,是测试使用的原始图片: (

[转]Android ImageView的scaleType属性与adjustViewBounds属性

Android ImageView的scaleType属性与adjustViewBounds属性 ImageView的scaleType的属性有好几种,分别是matrix(默认).center.centerCrop.centerInside.fitCenter.fitEnd.fitStart.fitXY android:scaleType="center" 保持原图的大小,显示在ImageView的中心.当原图的size大于ImageView的size,超过部分裁剪处理. androi