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

代码中的例子如下:

<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裁剪了图片的中间部分填充屏幕。其它类型可自行查看分析。

转载《android:scaleType属性》的更多相关文章

  1. 转载《Android LayoutInflater详解》

    在实际开发中LayoutInflater这个类还是非常有用的,它的作用类似于findViewById().不同点是LayoutInflater是用来找res/layout/下的xml布局文件,并且实例 ...

  2. Android LayoutInflater详解

      在实际开发中LayoutInflater这个类还是非常有用的,它的作用类似于findViewById().不同点是LayoutInflater是用来找res/layout/下的xml布局文件,并且 ...

  3. Android LayoutInflater详解(转)

    在实际开发中LayoutInflater这个类还是非常有用的,它的作用类似于findViewById().不同点是LayoutInflater是用来找res/layout/下的xml布局文件,并且实例 ...

  4. Android LayoutInflater详解 (转)

    在实际开发中LayoutInflater这个类还是非常有用的,它的作用类似于findViewById().不同点是LayoutInflater是用来找res/layout/下的xml布局文件,并且实例 ...

  5. Android——LayoutInflater详解

    在实际工作中,事先写好的布局文件往往不能满足我们的需求,有时会根据情况在代码中自定义控件,这就需要用到LayoutInflater. LayoutInflater在Android中是"扩展& ...

  6. <转> Android LayoutInflater详解

    在实际开发中LayoutInflater这个类还是非常有用的,它的作用类似于findViewById().不同点是LayoutInflater是用来找res/layout/下的xml布局文件,并且实例 ...

  7. [ 转载 ] Android设计模式详解

    从Android再来认识23种设计模式 ReadyShow 关注  0.2 2018.01.06 23:18* 字数 3855 阅读 2584评论 0喜欢 20 概况来看本文章的内容 创建型:5个 单 ...

  8. Android Notification 详解(一)——基本操作

    Android Notification 详解(一)--基本操作 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/Notification 文中如有纰 ...

  9. Android Notification 详解——基本操作

    Android Notification 详解 版权声明:本文为博主原创文章,未经博主允许不得转载. 前几天项目中有用到 Android 通知相关的内容,索性把 Android Notificatio ...

  10. Android ActionBar详解

    Android ActionBar详解 分类: Android2014-04-30 15:23 1094人阅读 评论(0) 收藏 举报 androidActionBar   目录(?)[+]   第4 ...

随机推荐

  1. RN的像素及布局

    转自:http://www.cocoachina.com/ios/20150420/11608.html 宽度单位和像素密度 react的宽度不支持百分比,设置宽度时不需要带单位 {width: 10 ...

  2. Windows Server 2003 IIS6.0+PHP5(FastCGI)+MySQL5环境搭建教程

    准备篇 一.环境说明: 操作系统:Windows Server 2003 SP2 32位 PHP版本:php 5.3.14(我用的php 5.3.10安装版) MySQL版本:MySQL5.5.25 ...

  3. Android --AsyncTask异步任务(一)

    1.为什么要异步任务 Android单线程模式 耗时操作放在非主线程(UI线程)中执行 我们都知道Android是单线程模式,只有主线程才能对UI操作,简称UI线程.当然这样的好处是:保证UI的稳定性 ...

  4. 应用间共享数据方法(一)---sharepreferce

    SharedPreferences类,它是一个轻量级的存储类,特别适合用于保存软件配置参数. SharedPreferences保存数据,其背后是用xml文件存放数据,文件存放在/data/data/ ...

  5. table-responsive响应式表格,HTML表格自适应,bootstrap2表格自适应

    引用bootstrap3 的方法 @media (max-width: 767px) { .table-responsive { width: 100%; margin-bottom: 15px; o ...

  6. Hdu 1004

    ps:很简单的一个字符串处理问题.. 代码: #include "stdio.h" #include "string.h" int find(int flag[ ...

  7. 2016 - 2 - 19 ARC内存管理知识总结(一,arc基本概念及alloc等方法的实现)

    一. ARC的基本概念 1. 在objc中采用automatic reference counting 机制, 让编译器来进行内存管理.在降低程序崩溃,内存管理泄漏等风险的同时,很大程度减少了程序员的 ...

  8. BackgroundWorker组件的作用

    当构建一个图形化的Windows Form桌面应用程序并且需要执行在应用程序主UI线程之外的线程中长时间的任务时,BackgroundWorker类就很有用了. 要使用BackgroundWorker ...

  9. 64位系统下找不到office 32位组件

    如果系统式64位的,而装的是32位的office软件,在运行栏中输入命令:dcomcnfg,打开组件服务管理窗口,但是却发现找不到Microsoft Excel程序, 这主要是64位系统的问题,exc ...

  10. ubuntu下安装配置OpenCV

    Cmake的安装 我用的是ubuntu-software自动下载安装的. Ubuntu 下安装 OpenCV 首先下载安装相关包,然后下载OpenCV 系统:ubuntu16.04 OpenCV:2. ...