Android学习笔记_S01_E04 ImageView及其子类(一)
一、基本定义
ImageView继承自View组件,它的主要功能是用于显示任何Drawable对象,派生出了ImageButton、ZoomButton等组件。
二、属性和方法
1、ImageView的xml属性和方法
xml属性 | 相关方法 | 说明 |
android:adjustViewBounds | setAdjustViewBounds(boolean) | 设置该属性为真可以在 ImageView 调整边界时保持图片的纵横比例。(需要与maxWidth、MaxHeight一起使用,否则单独使用没有效果。) |
android:baseline | setBaseline(int) |
视图内基线的偏移量 |
android:baselineAlignBottom | setBaselineAlignBottom(boolean) | 如果为true,图像视图将基线与父控件底部边缘对齐。 |
android:cropToPadding | setCropToPadding(boolean) | 如果为真,会剪切图片以适应内边距的大小。(是否截取指定区域用空白代替。单独设置无效果,需要与scrollY一起使用) |
android:maxHeight | setMaxHeight(int) | 为视图提供最大高度的可选参数。(译者注:单独使用无效,需要与setAdjustViewBounds一起使用。如果想设置图片固定大小,又想保持图片宽高比,需要如下设置:
1) 设置setAdjustViewBounds为true; 2) 设置maxWidth、MaxHeight; 3) 设置设置layout_width和layout_height为wrap_content。) |
android:maxWidth | setMaxWidth(int) | 为视图提供最大宽度的可选参数。 |
android:scaleType | setScaleType(ImageView.ScaleType) | 控制为了使图片适合 ImageView 的大小,应该如何变更图片大小或移动图片。 |
android:src | setImageResource(int) | 设置可绘制对象作为 ImageView 显示的内容 |
android:tint | setColorFilter(int,PorterDuff.Mode) | 为图片设置着色颜色(将图片渲染成指定的颜色) |
2、ScaleType(拉伸类型)的几个XML属性介绍(在代码中的设置是setScaleType(ScaleType.XXXX)。
ScaleType主要用于处理图片大小与ImageView大小不匹配时图片的处理。比如ImageView的的尺寸比图片的大,该如何拉伸图片。以下通过实例说明,新建两个ImageView尺寸均为100dp×100dp,背景分别是红色和蓝色,大图片尺寸为157像素×220像素,小图片默认使用 ic_launcher(48像素×48像素)。
2.1 fitCenter:如果图片比ImageView的尺寸大, 则将图片等比例缩小,直到图片的宽或高与ImageView的宽或高一致,并且居中显示;对小图片则是同理放大。
2.2 fitStart:如果图片比ImageView的尺寸大, 则将图片等比例缩小,直到图片的宽或高与ImageView的宽或高一致,并且显示在左上角;对小图片则是同理放大。
2.3 fitEnd:如果图片比ImageView的尺寸大, 则将图片等比例缩小,直到图片的宽或高与ImageView的宽或高一致,并且显示在右下角;对小图片则是同理放大。
2.4 center:不进行任何的缩放,把图片放在ImageView的中间。如果图片大于ImageView的尺寸,则截取图片的中间部分置于ImageView中;如果图片小,则将其居中显示。
2.5 centerInside:保持纵横比缩放图片,使得ImageView能够完全显示该图片。与fitCenter不同的是,该值是如果图片比ImageView大,则进行等比例缩小,但是如果比ImageView小就不进行放大而是直接放在ImageView中间。
2.6 centerCrop:保持纵横比缩放图片,图片的最短边与ImageView的最短边一致,长边多出来的部分剪切掉,也就是保证图片能够完全填充ImageView。
2.7 fitXY:将图片的宽和高进行独立缩放,使其填充整改ImageView。
三、实现效果
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。