ImageView的展示方式
【转】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的展示方式的更多相关文章
- (一〇七)iPad开发之modal的切换方式与展示方式
在iPad上modal有四种切换方式,分别是竖直进入(由下到上,默认方式).水平翻转.淡入淡出. 属性要设置在将要modal出来的控制器上: /* typedef NS_ENUM(NSInteger, ...
- SharePoint 2013 处理Promoted Links类型的List下的Tiles View的默认Webpart展示方式
问题: 为了去掉Photo Gallery的水平滚动效果,更改为根据内容进行自适应宽度多行显示效果 Promoter link --> photo gallery Not horizontal ...
- Extjs 表单验证后,几种错误信息展示方式
今天要求对form表单验证,进行系统学习一下,故做了几个示例: Ext.onReady(function(){ var panel=Ext.create('Ext.form.Panel' ...
- 创建几个常用table展示方式插件
这次和大家分享的是自己写的一个table常用几种展示格式的js插件取名为(table-shenniu),样式使用的是bootstrap.min.css,还需要引用jquery.min.js包,这个插件 ...
- jquery实现可展开收缩的首页大图广告展示方式 泰山压顶代码 V2.0
把代码做成js网站进行统一调用 if (typeof jQuery == 'undefined') { document.writeln('<script type="text/jav ...
- css3图片展示方式
<view class='img_block' id='mjltest'> <view class='text_view'> <view class='{{cell_cl ...
- 在Winform开发中,我们使用的几种下拉列表展示字典数据的方式
在Winform开发中中,我们为了方便客户选择,往往使用系统的字典数据选择,毕竟选择总比输入来的快捷.统一,一般我们都会简单封装一下,以便方便对控件的字典值进行展示处理,本篇随笔介绍DevExpres ...
- Android ImageView 的scaleType 属性图解
ImageView 是 Android 中最常用的控件之一,而在使用ImageView时,必不可少的会使用到它的scaleType属性.该属性指定了你想让ImageView如何显示图片,包括是否进行缩 ...
- 0行代码实现任意形状图片展示--android-anyshape
前言 在Android开发中, 我们经常会遇到一些场景, 需要以一些特殊的形状显示图片, 比如圆角矩形.圆形等等.关于如何绘制这类形状, 网上已经有很多的方案,比如自定义控件重写onDraw方法, 通 ...
随机推荐
- java设计原则:16种原则
一 类的设计原则 1 依赖倒置原则-Dependency Inversion Principle (DIP) 2 里氏替换原则-Liskov Substitution Principle (L ...
- 利用eclipse新建一个maven项目步骤:
1.打开eclipse,左键点击左上角File,选中New,左键点击选中Maven Project,出现下面界面: 2.把打钩的去掉,选择自己项目所在的工作空间,如下图,我建在我的工作空间worksp ...
- OpenCV ——遍历图像方法
转自http://blog.csdn.net/daoqinglin/article/details/23628125 ; y < testImage->height; y++) { uch ...
- STL入门2
1:给出n个字符串,输出每个字符串是第几个出现的字符串?多组数据 2:对每组数据,第一行输入n表示接下来有n个字符串 1 <= n <= 100000接下来的n行,每行输入一个非空的且长度 ...
- FZU 2147 A-B Game(数学)
我们只需要知道这个取完模最大是 a / 2 + 1就可以了,不过超时了几次,换了visual C++才过,oj还真是傲娇啊. #include<iostream> #include< ...
- 基于js脚本的单机黄金点游戏
题目描述 N个同学(N通常大于10),每人写一个0-100之间的有理数 (不包括0或100),交给裁判,裁判算出所有数字的平均值,然后乘以0.618(所谓黄金分割常数),得到G值.提交的数字最靠近G( ...
- 我想操作的是利用SqlDataAdapter的几个Command属性(InsertCommand,UpdateCommand,DeleteCommand)来更新数据库
我想操作的是利用SqlDataAdapter的几个Command属性(InsertCommand,UpdateCommand,DeleteCommand)来更新数据库代码:SqlConnection ...
- CodeForces 605B Lazy Student
构造.对边的权值排序,权值一样的话,在MST中的边排到前面,否则权值小的排在前面. 然后边一条一条扫过去,如果是1 ,那么连一个点到集合中,如果是0,集合内的边相连. #include<cstd ...
- CodeForces 614B Gena's Code
#include <stdio.h> #include <string.h> #include <iostream> #include <algorithm& ...
- Java——异常谜题
1.谜题36 try和finally语句,代码如下,判断输出 public class Indecisive { public static void main(String[] args) { S ...