转载《android:scaleType属性》
在网上查了好多资料,大致都雷同,大家都是互相抄袭的,看着很费劲,不好理解,自己总结一下,留着需要看的话来查找。
代码中的例子如下:

<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属性》的更多相关文章
- 转载《Android LayoutInflater详解》
在实际开发中LayoutInflater这个类还是非常有用的,它的作用类似于findViewById().不同点是LayoutInflater是用来找res/layout/下的xml布局文件,并且实例 ...
- Android LayoutInflater详解
在实际开发中LayoutInflater这个类还是非常有用的,它的作用类似于findViewById().不同点是LayoutInflater是用来找res/layout/下的xml布局文件,并且 ...
- Android LayoutInflater详解(转)
在实际开发中LayoutInflater这个类还是非常有用的,它的作用类似于findViewById().不同点是LayoutInflater是用来找res/layout/下的xml布局文件,并且实例 ...
- Android LayoutInflater详解 (转)
在实际开发中LayoutInflater这个类还是非常有用的,它的作用类似于findViewById().不同点是LayoutInflater是用来找res/layout/下的xml布局文件,并且实例 ...
- Android——LayoutInflater详解
在实际工作中,事先写好的布局文件往往不能满足我们的需求,有时会根据情况在代码中自定义控件,这就需要用到LayoutInflater. LayoutInflater在Android中是"扩展& ...
- <转> Android LayoutInflater详解
在实际开发中LayoutInflater这个类还是非常有用的,它的作用类似于findViewById().不同点是LayoutInflater是用来找res/layout/下的xml布局文件,并且实例 ...
- [ 转载 ] Android设计模式详解
从Android再来认识23种设计模式 ReadyShow 关注 0.2 2018.01.06 23:18* 字数 3855 阅读 2584评论 0喜欢 20 概况来看本文章的内容 创建型:5个 单 ...
- Android Notification 详解(一)——基本操作
Android Notification 详解(一)--基本操作 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/Notification 文中如有纰 ...
- Android Notification 详解——基本操作
Android Notification 详解 版权声明:本文为博主原创文章,未经博主允许不得转载. 前几天项目中有用到 Android 通知相关的内容,索性把 Android Notificatio ...
- Android ActionBar详解
Android ActionBar详解 分类: Android2014-04-30 15:23 1094人阅读 评论(0) 收藏 举报 androidActionBar 目录(?)[+] 第4 ...
随机推荐
- 【初级】linux mv 命令详解及使用方法实战
mv:移动文件或者将文件改名 前言: mv是move的缩写,顾名思义是移动.它的功能既能移动文件/文件夹,又可以用来改名,经常用来做文件的备份,比如再删除之前,先给文件做备份(保护数据)也是linux ...
- oracle 解决backspace和上下键使用出现乱码
在bash提示符下,使用Del键或者Backspace键都能删除光标左右的字符,但是一旦进入sqlplus之后,只能使用Del键来删除光标左侧的字符,使用Backspace键则显示^H,使用ctrl+ ...
- 思维导图MindManager的文件格式与例图
思维导图软件很多,能够画出思维导图的软件更多.作为流传较广而又比较成熟的思维导图软件,MindManager有专门的文件格式.如果读者想多借鉴导图,就应该了解MindManager的文件格式. Min ...
- Httpclient请求数据
package com.baidu.myutils; import java.io.IOException; import org.apache.http.HttpEntity; import org ...
- Linux网络编程的一般步骤(1)
一.套接字的地址结构. IPV4套接字地址结构通常也称为"网际套接字地址结构",它以sockaddr_in 命名;POSIX定义如下: #include <stdio.h&g ...
- fvvk
Hello world! D1C0E3D12E624362B9F8D55ABA2E0FB8,D1C0E3D12E624362B9F8D55ABA2E0FB9
- JDBC操作步骤及数据库连接操作
http://blog.csdn.net/joywy/article/details/7731305
- c# System.Data.OracleClient需要Oracle客户端软件8.1.7或更高版本
前几天遇到了这个问题,情景是与oracle数据库连接的时候出现的.本机已经安装了客户端,使用toad数据库工具能够与数据库相连进行相关的操作.但是在使用代码进行连接的时候出现了这样的问题.找了好久,都 ...
- ACM_1001_Exponentiation 详解
参考:http://blog.csdn.net/rually/article/details/8585268 #include<iostream> using namespace std; ...
- "流"派家族,一脉相承
(更多内容请关注本人微信订阅号:it_pupil) 你没进错,我们讲的是Java的输入输出流. 概述 ➤ 可以从其中读入一个字节序列的对象称作输入流.(输入流是一个对象,可以从这个对象中读取一个字 ...