anroid scaleType属性对应的效果

关于android中ImageView的外观,即图片在其内显示出的样子,与布局文件中adjustViewBonds和scaleType

属性的关系。我进行了一些探索。现跟大家共享,欢迎各位指教。分别将adjustViewBonds设为true和false,与各种scaleType搭配,产生了不同效果。(上面的ImagView的adjstViewBonds值为false;下面的ImagView的adjstViewBonds值为true;两个ImagView大小相同)如下:

代码:

Xml代码  

  1. <ImageView
  2. android:id="@+id/imageView1"
  3. android:layout_width="fill_parent"
  4. android:layout_height="200dip"
  5. android:adjustViewBounds="false"
  6. android:scaleType="centerInside"//此处每次更改
  7. android:src="@drawable/ic_3" />//此处两幅图间更改,一副图的大小较小,另一幅的较大。
  8. <ImageView
  9. android:id="@+id/imageView2"
  10. android:layout_width="fill_parent"
  11. android:layout_height="200dip"
  12. android:adjustViewBounds="true"
  13. android:scaleType="centerInside"//此处每次更改
  14. android:src="@drawable/ic_3" />//此处两幅图间更改,一副图的大小较小,另一幅的较大。

原图:

1、scaleType=“matrix”

如图pic1、pic2.

是保持原图大小、从左上角的点开始,以矩阵形式绘图。

pic1

pic2

2、scaleType=“fitXY”

如图pic3、pic4.

是将原图进行横方向(即XY方向)的拉伸后绘制的。

pic3

pic4

3、scaleType=“fitStart”

如图pic5、pic6。

是将原图沿左上角的点(即matrix方式绘图开始的点),按比例缩放原图绘制而成的。

pic5

pic6

4、scaleType=“fitCenter”

如图pic7、pic8。

是将原图沿上方居中的点(即matrix方式绘图第一行的居中的点),按比例缩放原图绘制而成的。

pic7

pic8

5、scaleType=“fitEnd”

如图pic9、pic10。、

是将原图沿下方居中的点(即matrix方式绘图最后一行的居中的点),按比例缩放原图绘制而成的。

pic9

pic10

6、scaleType=“Center”

如图pic11、pic12。

是保持原图大小,以原图的几何中心点和ImagView的几何中心点为基准,只绘制ImagView大小的图像。

pic11

 pic12

7、scaleType=“centerCrop”

如图pic13、pic14。

不保持原图大小,以原图的几何中心点和ImagView的几何中心点为基准,只绘制ImagView大小的图像(以填满

ImagView为目标,对原图进行裁剪)。

pic13

pic14

8、scaleType=“centerInside”

如图pic15、pic16.

不保持原图大小,以原图的几何中心点和ImagView的几何中心点为基准,只绘制ImagView大小的图像(以显示

完整图片为目标,对原图进行缩放)。

pic15

pic16

(事实证明,adjustViewBonds单独设置无影响。)

依本人之见,scaletype的种类分为三类matrix(默认)、fit-X类、和center类。matrix就不多说。fit-X类中,

fitStart、fitCenter和fitEnd之间的都是根据需要使原图改变对ImgView进行适应,按matrix进行绘制,但它们

的区别在于基准不同。fitStart的基准为最上角的点(即matrix方式开始的点)fitCenter的基准点为中间的点

(matrix方式中可以使图片居中的点),而fitEnd的基准点为右下角的点(即matrix方式最后绘制点)。center类

中,center、centerCrop、centerInside都是以原图的几何中心点和ImagView的几何中心点为基准,且只绘制

ImagView大小的图像,不同的是是否保持原图大小和绘图的目标不同、采取的手段不同。

时间: 2024-11-09 01:49:09

anroid scaleType属性对应的效果的相关文章

ImageView的scaleType属性

ImageView的scaleType属性 注:文章中"长边"均指从小放大过程中先达到ImageView边界的边,反之,为短边 1.center:图片居中显示,但是不进行缩放.如果图片过大,则只能部分显示,超出ImageView的部分无法显示.如图center_1与center_2.                                              center_1                                                

[转]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

Android 源码系列之&lt;一&gt;从源码的角度深入理解ImageView的ScaleType属性

做Android开发的童靴们肯定对系统自带的控件使用的都非常熟悉,比如Button.TextView.ImageView等.如果你问我具体使用,我会给说:拿ImageView来说吧,首先创建一个新的项目,在项目布局文件中应用ImageView控件,代码如下: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.

Android ImageView的ScaleType属性

android中ImageView的ScaleType属性 ScaleType的值分别代表的意义: ImageView是Android中的基础图片显示控件,该控件有个重要的属性是ScaleType,该属性用以表示显示图片的方式,共有8种取值 ScaleType.CENTER::图片大小为原始大小,如果图片大小大于ImageView控件,则截取图片中间部分,若小于,则直接将图片居中显示. ScaleType.CENTER_CROP:将图片等比例缩放,让图像的短边与ImageView的边长度相同,即

android学习笔记之ImageView的scaleType属性

我们知道,ImageView有一个属性叫做scaleType,它的取值一共同拥有八种,各自是:matrix,fitXY.fitStart,fitCenter.fitEnd,center,centerCrop.centerInside. 那我们以下一起来看看这八种取值分别代表什么意思. 我用两张图片来做demo,这两张图片的分辨率一大一小,图片分别叫做big和small.原图例如以下: big: small: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQ

使用box-shadow属性实现圆角效果代码实例

使用box-shadow属性实现圆角效果代码实例:通常实现圆角效果我们使用border-radius,其实我们也可以使用box-shadow属性来实现.两个属性的具体用法这里就不多介绍了,具体可以参阅以下两个文章:(1).圆角效果可以参阅CSS3实现圆角效果一章节.(2).box-shadow可以参阅CSS3的box-shadow属性用法详解一章节.代码实例: <!DOCTYPE html> <html> <head> <meta charset=" u

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:scaleType属性

详解android:scaleType属性 转自:http://blog.csdn.net/encienqi/article/details/7913262    http://juliaailse.iteye.com/blog/1409317 Android:scaleType是控制图片如何resized/moved来匹对ImageView的size. ImageView.ScaleType / android:scaleType值的意义区别: CENTER /center  按图片的原来si

ImageView中scaleType属性详解

scaleType是指定图片的拉伸方式的一个属性,下面是具体的示例和介绍: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="