ImageView android:scaleType="centerCrop"

转载地址:http://www.cnblogs.com/yejiurui/archive/2013/02/25/2931767.html

在网上查了好多资料,大致都雷同,大家都是互相抄袭的,看着很费劲,不好理解,自己总结一下,留着需要看的话来查找。

代码中的例子如下:

<ImageView
            android:id="@+id/iv_bit_1"
            android:layout_width="@dimen/passcode_width"
            android:layout_height="@dimen/passcode_height"
            android:scaleType="fitXY" />

        <ImageView
            android:id="@+id/iv_bit_2"
            android:layout_width="@dimen/passcode_width"
            android:layout_height="@dimen/passcode_height"
            android:scaleType="fitXY" />

        <ImageView
            android:id="@+id/iv_bit_3"
            android:layout_width="@dimen/passcode_width"
            android:layout_height="@dimen/passcode_height"
            android:scaleType="fitXY" />

        <ImageView
            android:id="@+id/iv_bit_4"
            android:layout_width="@dimen/passcode_width"
            android:layout_height="@dimen/passcode_height"
            android:scaleType="fitXY" />

        <ImageView
            android:id="@+id/iv_bit_5"
            android:layout_width="@dimen/passcode_width"
            android:layout_height="@dimen/passcode_height"
            android:scaleType="fitXY" />

        <ImageView
            android:id="@+id/iv_bit_6"
            android:layout_width="@dimen/passcode_width"
            android:layout_height="@dimen/passcode_height"
            android:scaleType="fitXY" />

通过API的查询得知,

  ImageView.ScaleType的结构为:

继承关系

public static final enum ImageView.ScaleType extends Enum<E extends Enum<E>>

java.lang.Object

java.lang.Enum<E extends java.lang.Enum<E>>

android.widget.ImageView.ScaleType

 类概述

将图片边界缩放,以适应视图边界时的可选项。

常量

public static final ImageView.ScaleType CENTER

在视图中使图像居中,不执行缩放。 在 XML 中可以使用的语法: android:scaleType="center"。

public static final ImageView.ScaleType CENTER_CROP

均衡的缩放图像(保持图像原始比例),使图片的两个坐标(宽、高)都大于等于 相应的视图坐标(负的内边距)。图像则位于视图的中央。 在 XML 中可以使用的语法:android:scaleType="centerCrop"。

public static final ImageView.ScaleType CENTER_INSIDE

均衡的缩放图像(保持图像原始比例),使图片的两个坐标(宽、高)都小于等于 相应的视图坐标(负的内边距)。图像则位于视图的中央。 在 XML 中可以使用的语法:android:scaleType="centerInside"。

public static final ImageView.ScaleType FIT_CENTER

使用 CENTER 方式缩放图像。 在 XML 中可以使用的语法: android:scaleType="fitCenter"。

public static final ImageView.ScaleType FIT_END

使用 END 方式缩放图像。 在 XML 中可以使用的语法: android:scaleType="fitEnd"。

public static final ImageView.ScaleType FIT_START

使用 START 方式缩放图像。 在 XML 中可以使用的语法:android:scaleType="fitStart"。

public static final ImageView.ScaleType FIT_XY

使用 FILL 方式缩放图像。 在 XML 中可以使用的语法: android:scaleType="fitXY"。

public static final ImageView.ScaleType MATRIX

绘制时,使用图像矩阵方式缩放。图像矩阵可以通过 setImageMatrix(Matrix) 设置。在 XML 中可以使用的语法: android:scaleType="matrix"。

此间通过阅读网友的一篇日志,对此也有更详细的解释,大家可以参考:

http://blog.sina.com.cn/s/blog_407abb0d0100mao1.html

用代码展示着几个属性的效果,效果截图:

主界面:

CENTER效果:

CENTER_CROP效果:

CENTER_INSIDE效果:

FIT_CENTER效果:

FIT_START效果:

FIT_END效果:

FIT_XY效果:

MATRIX效果:

结果分析:

我选取的原始图片明显标志如下:左上角有蝴蝶、花朵,右下角为一个蝗虫,且图片像素大于 320×480,各种类型的差异通过查看图片的明显标志即可窥见一斑。比如FIT_START,填充于屏幕上方,并等比例缩放;相反,FIT_END置于屏幕下方,而FIT_CENTER则在中间。CENTER_CROP裁剪了图片的中间部分填充屏幕。其它类型可自行查看分析。

ImageView android:scaleType="centerCrop",布布扣,bubuko.com

时间: 2024-10-15 21:58:32

ImageView android:scaleType="centerCrop"的相关文章

【android】解决设置ImageView的scaletype为centerCrop后padding不起作用的办法

今天捣腾ImageView的时候发现padding属性竟然不起作用,折腾一番后才知道原来跟我设置scaletype为centerCrop有关,要想两者同时作用,只需加上android:cropToPadding="true"即可.如下所示: <ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLe

Android ImageView的scaleType属性与adjustViewBounds属性

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

[转]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课程---Android ImageView的scaleType属性与adjustViewBounds属性(转)

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

Android ImageView的scaleType(图片比例类型)属性与adjustViewBounds(调整视图边界)属性

Android ImageView的scaleType属性与adjustViewBounds属性 实用性很强的属性经典总结 一.首先:ImageView的scaleType的属性有好几种,分别是matrix(默认).center.centerCrop.centerInside.fitCenter.fitEnd.fitStart.fitXY (1),android:scaleType="center" 保持原图的大小,显示在ImageView的中心.当原图的size大于ImageView

ImageView的属性android:scaleType作用

在网上查了好多资料,大致都雷同,大家都是互相抄袭的,看着很费劲,不好理解,自己总结一下,留着需要看的话来查找. 代码中的例子如下: <ImageView android:id="@+id/iv_bit_1" android:layout_width="@dimen/passcode_width" android:layout_height="@dimen/passcode_height" android:scaleType="fi

Android——ImageView的scaleType属性与adjustViewBounds属性 (转)一

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

Android——ImageView的scaleType属性与adjustViewBounds属性 (转)二

1 android:scaleType="center" (1)当图片大于ImageView的宽高:以图片的中心点和ImageView的中心点为基准,按照图片的原大小居中显示,不缩放,用ImageView的大小截取图片的居中部分. (2)当图片小于ImageView的宽高:直接居中显示该图片. 2 android:scaleType="centerCrop" (1)当图片大于ImageView的宽高:以图片的中心点和ImageView的中心点为基准,按比例缩小图片,