Android开发之ImageView ScaleType属性

使用ImageView时经常会用到scaleType属性如

<ImageView android:layout_width="50dp"
android:layout_height="50dp" 
android:scaleType="matrix"
android:src="@drawable/sample_small" />

scaleType属性的各个值总是记不住之间的区别。今天找点时间总结了一下

scaleType的属性值有matrix   fitXY  fitStart   fitCenter  fitEnd  center   centerCrop  centerInside 

它们之间的区别如下

matrix 用矩阵来绘制(从左上角起始的矩阵区域)

fitXY  把图片不按比例扩大/缩小到View的大小显示确保图片会完整显示并充满View

 fitStart  把图片按比例扩大/缩小到View的宽度显示在View的上部分位置图片会完整显示

fitCenter  把图片按比例扩大/缩小到View的宽度居中显示图片会完整显示

fitEnd   把图片按比例扩大/缩小到View的宽度显示在View的下部分位置图片会完整显示

center  按图片的原来size居中显示当图片宽超过View的宽则截取图片的居中部分显示当图片宽小于View的宽则图片居中显示
 
centerCrop  按比例扩大/缩小图片的size居中显示使得图片的高等于View的高使得图片宽等于或大于View的宽
 
centerInside  将图片的内容完整居中显示使得图片按比例缩小或原来的大小图片比View小时使得图片宽等于或小于View的宽 图片会完整显示

附上两张实验的截图:


 图1 图片比ImageView大的截图

图2 图比ImageView小 实验截图

时间: 2024-09-16 10:27:43

Android开发之ImageView ScaleType属性的相关文章

Android开发之imageView图片按比例缩放的实现方法_Android

本文实例讲述了Android开发之imageView图片按比例缩放的实现方法.分享给大家供大家参考,具体如下: android:scaleType可控制图片的缩放方式,示例代码如下: <ImageView android:id="@+id/img" android:src=\'#\'" /logo" android:scaleType="centerInside" android:layout_width="60dip"

Android开发之imageView图片按比例缩放的实现方法

本文实例讲述了Android开发之imageView图片按比例缩放的实现方法.分享给大家供大家参考,具体如下: android:scaleType可控制图片的缩放方式,示例代码如下: <ImageView android:id="@+id/img" android:src=\'#\'" /logo" android:scaleType="centerInside" android:layout_width="60dip"

Android开发之ImageView通过matrix实现手势缩放

关于ImageView的手势缩放有很多种方法绝大多数开源自定义缩放都是修改了ondraw函数来实现的.但是ImageView本身有scaleType属性通过设置android:scaleType="matrix" 可以用很少的代码就实现缩放功能.缩放的优点是实现起来简单同时因为没有反复调用ondraw函数缩放过程中不会有闪烁现象. MATRIX矩阵可以动态缩小放大图片来显示缩小图片  代码如下 复制代码 //获得Bitmap的高和宽 int bmpWidth=bmp.getWidth(

Android 开发之旅:view的几种布局方式及实践

引言 通过前面两篇: Android 开发之旅:又见Hello World! Android 开发之旅:深入分析布局文件&又是"Hello World!" 我们对Android应用程序运行原理及布局文件可谓有了比较深刻的认识和理解,并且用"Hello World!"程序来实践证明了.在继续深入Android开发之旅之前,有必要解决前两篇中没有介绍的遗留问题:View的几种布局显示方法,以后就不会在针对布局方面做过多的介绍.View的布局显示方式有下面几种:线

Android 开发之旅:又见Hello World!

--量变产生质变,如果你从第一篇一直看到了这篇,可以说这就是你的质变点之一. 回顾及展望 经过数篇对Android应用程序的原理的讲述,现在我们大概回顾一下. 首先我们利用Hello World程序介绍了一个Android应用程序的目录结构,包括src文件夹.gen文件夹.Android x文件夹.assets文件夹.AndroidMainifest.xml.default.properties: 接下来我们又站在架构的高度分析了一下Android系统的主要组成部分,包括Linux Kernel

Android 开发之dataBinding与ListView及事件_Android

2015年Google IO大会分布了DataBinding库,能够更快捷便利的实现MVVM结构模式.但是,通过对DataBinding的学习,其中踩过得坑,今天要在这里记录一下.对于DataBinding一些比较基础的使用,在这里就不在记录了,毕竟现在Google一下,出来很多的教程,而且,android developer官网中,也已经对其基本使用方法做了详细介绍,有英语基础的童鞋,还是去看比较官方的文章.如果英文基础不太好的,https://realm.io/cn/news/data-bi

Android 开发之dataBinding与ListView及事件

2015年Google IO大会分布了DataBinding库,能够更快捷便利的实现MVVM结构模式.但是,通过对DataBinding的学习,其中踩过得坑,今天要在这里记录一下.对于DataBinding一些比较基础的使用,在这里就不在记录了,毕竟现在Google一下,出来很多的教程,而且,android developer官网中,也已经对其基本使用方法做了详细介绍,有英语基础的童鞋,还是去看比较官方的文章.如果英文基础不太好的,https://realm.io/cn/news/data-bi

Android开发之ViewSwitcher用法实例_Android

本文实例讲述了Android开发之ViewSwitcher用法.分享给大家供大家参考,具体如下: android.widget.ViewSwitcher是ViewAnimator的子类,用于在两个View之间切换,但每次只能显示一个View. ViewSwitcher的addView函数的代码如下: /** * {@inheritDoc} * * @throws IllegalStateException if this switcher already contains two childre

Android开发之Animations动画用法实例详解_Android

本文实例讲述了Android开发之Animations动画用法.分享给大家供大家参考,具体如下: 一.动画类型 Android的animation由四种类型组成:alpha.scale.translate.rotate XML配置文件中 alpha 渐变透明度动画效果 scale 渐变尺寸伸缩动画效果 translate 画面转换位置移动动画效果 rotate 画面转移旋转动画效果 Java Code代码中 AlphaAnimation 渐变透明度动画效果 ScaleAnimation 渐变尺寸