前言
最近在自定义ImageView时用到scaleType属性,因此在这里整(摘)理(抄)一下,方便自己查阅。
好记性不如烂笔头
正文
scaleType该属性指定让ImageView如何显示图片,包括是否进行缩放、等比缩放、缩放后展示位置等。
Android 提供了八种scaleType的属性值分别如下:
public static enum ScaleType {
MATRIX,
FIT_XY,
FIT_START,
FIT_CENTER,
FIT_END,
CENTER,
CENTER_CROP,
CENTER_INSIDE;
}
PS: xml和java都可以配置ImageView的属性。
下面单独对每一种简单的介绍一下,如果要图解,推荐看文末的第一个参考链接,该作者特意附上了图片描述。感谢。
MATRIX
用矩阵来绘制,可以动态缩放、移动和旋转等操作图片。
这个需要配合setImageMatrix()来使用。
举个例子
imageView.setScaleType(ImageView.ScaleType.MATRIX);
Matrix matrix = new Matrix();
matrix.preRotate(90); //顺时针旋转90
imageView.setImageMatrix(matrix);
FIT_XY
图片缩放并全铺到View上,不是等比缩放。
FIT_START
把图片按比例扩大/缩小到View的高宽上,从左或者上部开始显示。
- 如果图片的宽大于View的宽,就显示在上部。(下部空白)
- 如果图片的高大于View的高,就显示在左部。(右部空白)
FIT_CENTER
这个是ImageView的默认模式。图片会被等比缩放到能够填充控件大小,并居中显示。(存在上下空白)
FIT_END
这个跟FIT_START刚好相反。
把图片按比例扩大/缩小到View的高宽上,从右或者底部开始显示。
- 如果图片的宽大于View的宽,就显示在底部。(上部空白)
- 如果图片的高大于View的高,就显示在右部。(左部空白)
CENTER
按图片的原来size居中显示,当图片长/宽超过View的长/宽,则截取图片的居中部分显示。
PS:这个会截取中心图片显示。
CENTER_CROP
按比例扩大图片的size居中显示,使得图片长(宽)等于或大于View的长(宽)
CENTER_INSIDE
将图片的内容完整居中显示,通过按比例缩小或原来的size使得图片长/宽等于或小于View的长/宽,并居中显示。
参考文章
历史上的今天
暂无评论...
随机推荐
Android截图和保存图片到指定目录
前言记录一下,Android截图方法和保存。我这是系统应用测试,非系统应用需要权限的申请等Android P验证OK正文获取截图public static Bitmap getScreenShot() { try { //反射 SurfaceContro...
[摘]替代Beyond Compare软件
前言Beyond Compare是比强大的文件对比软件,但是收费且比较贵。偶尔使用,且不想买,因此找了其他类似功能的软件进行替代。记录一下,方便自己查阅。本文摘抄的,来源《替代BeyondCompare,四款免费文件代码对比工具分享》小结为了省流,下面四款软件,我只试过前面2款。下面说说...
Android.mk介绍之二预编译
Android.mk可以编译生成的文件类型:APK : Android程序,编译生成的apk文件Java库 : Java类库,编译打包生成的jar文件C/C++可执行的应用程序 : 可执行的C/C++应用程序C/C++静态库 : 编译生成的C/C++静态库,打包生成的.a文件C...
Vim复制和粘贴命令
前言简单记录一下Vim拷贝和粘贴命令正文dddeletedd是删除光标所在位置的整行内容,并复制到缓存区dd : 删除光标所在的整行内容[N]dd : 删除从光标所在的行开始,联系N行的内容yyYankyy是复制光标所在的整行内容,并复制到缓存区yy : 复制光标所在的整行内...
ADB更改系统设置中的参数
Android4.2以后的源码android-17\com\android\commands目录下较之前的版本多了一个settings命令,查看其中的SettingsCmd.java文件,末尾有命令的帮助信息:private static void printUsage() { ...
MediaPlayer源码介绍2
前言之前介绍MediaPlayer ,接上文《MediaPlayer JNI层介绍》(看做《MediaPlayer源码介绍1》)介绍到mediaplayer.cpp,这也是一个代理,真正处理的并不是这个。今天以setDataSource()为例继续分析。涉及代码frameworks\av\...