Android API 25 (Android 7.1.1)
ImageView
public class ImageView
extends View
Added in API level 1
java.lang.Object
↳android.view.View
↳android.widget.ImageView
已知直接子类
AppCompatImageView
ImageButton
QuickContactBadge
显示任意图像,例如图标。 ImageView类可以加载来自各种源(例如资源或内容提供者)的图像,负责从图像计算其测量,使得其可以在任何布局管理器中使用,并且提供各种显示选项,例如缩放和着色。
枚举 ImageView.ScaleType
用于将图像的边界缩放到此视图的边界的选项。
API 1
关联方法:setAdjustViewBounds(boolean adjustViewBounds)
属性说明:设置是否保持宽高比。
必须是布尔值(boolean),“true”或“false”。
也可以引用一个包含此类型值的资源(格式:@[package:]type:name)或主题属性(格式:?[package][type:]name)。
对应的全局属性资源符号是adjustViewBounds。
注意:如果应用程序目标的API级别为17或更低,adjustViewBounds将允许drawable缩小视图边界,但不会增长到在所有情况下填充可用的测量空间。 这是为了与旧版MeasureSpec和RelativeLayout行为的兼容性。
需要与maxWidth、MaxHeight一起使用,否则单独使用没有效果。
android:adjustViewBounds=”true”
android:maxHeight=”200dp”
android:maxWidth=”200dp”
android:layout_width=”wrao_content”
android:layout_height=”wrao_content”
API 11
关联方法:setBaseline(int baseline)
属性说明:设置视图中的基线偏移。有关详细信息,请参阅{android.view.View#getBaseline}
必须是带单位的浮点型尺寸值(float),如:”14.5sp”。有效的单位包括:px(像素)、dp(密度无关像素)、sp(通常用于字体尺寸的可伸缩像素)、in(英寸)、mm(毫米)。
也可以引用一个包含此类型值的资源(格式:@[package:]type:name)或主题属性(格式:?[package][type:]name)。
对应的全局属性资源符号是baseline。
API 11
关联方法:setBaselineAlignBottom(boolean aligned)
属性说明:设置视图是否基于底部边缘进行基线对齐。默认为true。
必须是布尔值(boolean),“true”或“false”。
也可以引用一个包含此类型值的资源(格式:@[package:]type:name)或主题属性(格式:?[package][type:]name)。
对应的全局属性资源符号是baselineAlignBottom。
API 1
关联方法:setCropToPadding(boolean cropToPadding)
属性说明:设置视图是否剪裁以适合其填充。单独设置无效果,需要与scrollY一起使用。
必须是布尔值(boolean),“true”或“false”。
也可以引用一个包含此类型值的资源(格式:@[package:]type:name)或主题属性(格式:?[package][type:]name)。
对应的全局属性资源符号是cropToPadding。
API 1
关联方法:setMaxHeight(int maxHeight)
属性说明:设置视图的最大高度的可选参数。
必须是带单位的浮点型尺寸值(float),如:”14.5sp”。有效的单位包括:px(像素)、dp(密度无关像素)、sp(通常用于字体尺寸的可伸缩像素)、in(英寸)、mm(毫米)。
也可以引用一个包含此类型值的资源(格式:@[package:]type:name)或主题属性(格式:?[package][type:]name)。
对应的全局属性资源符号是maxHeight。
API 1
关联方法:setMaxWidth(int maxWidth)
属性说明:设置视图的最大宽度的可选参数。
必须是带单位的浮点型尺寸值(float),如:”14.5sp”。有效的单位包括:px(像素)、dp(密度无关像素)、sp(通常用于字体尺寸的可伸缩像素)、in(英寸)、mm(毫米)。
也可以引用一个包含此类型值的资源(格式:@[package:]type:name)或主题属性(格式:?[package][type:]name)。
对应的全局属性资源符号是maxWidth。
API 1
关联方法:setScaleType(ImageView.ScaleType scaleType)
属性说明:设置图片的填充方式。控制如何调整图像大小或移动以匹配此ImageView的大小。请参阅ImageView.ScaleType。
必须是以下常量之一:
matrix 用矩阵来绘图。根据3*3的矩阵对图片进行缩放
fitXY 拉伸图片(不按比例)以填充View的宽高
fitStart 按比例拉伸图片,拉伸后图片的高度为View的高度,且显示在View的左边
fitCenter 按比例拉伸图片,拉伸后图片的高度为View的高度,且显示在View的中间
fitEnd 按比例拉伸图片,拉伸后图片的高度为View的高度,且显示在View的右边
center 按原图大小显示图片,但图片宽高大于VIE我的宽高时,截取中间部分显示
centerCrop 按比例放大原图直至等于某边View的宽高显示
centrInside当原图宽高或等于View的宽高时,按原图大小居中显示;反之将原图缩放至View的宽高居中显示
对应的全局属性资源符号是scaleType。
API 1
关联方法:setImageResource(int resId)
setImageBitmap(Bitmap bm)
setImageDrawable(Drawable drawable)
setImageURL(Uri uri)
属性说明:设置此ImageView的drawable(如图片,也可以是颜色,但是需要指定View的大小)
必须引用另一个资源(格式:@[package:]type:name)或主题属性(格式:?[package][type:]name)。
可以是颜色值(color),格式”#rgb”、”#argb”、”#rrggbb”、”#aarrggbb”。
对应的全局属性资源符号是src。
这会在UI线程上执行Bitmap读取和解码,这可能会导致延迟瘫痪。 如果这是一个问题,考虑使用setImageDrawable(android.graphics.drawable.Drawable)或setImageBitmap(android.graphics.Bitmap)和BitmapFactory。
Android:src与Android:background的区别:
src存放的是原图的大小,不会进行拉伸。Background会根据ImageView组件给定的长宽进行拉伸。
Src是图片内容(前景),background是背景,可以同时使用。
API 21
关联方法:setImageTintList(ColorStateList tint)
属性说明:设置图片色调。后续调用setImageDrawable(Drawable)将自动改变drawable并使用setTintList(ColorStateList)应用指定的色调和色调模式。
必须是颜色值(color),格式”#rgb”、”#argb”、”#rrggbb”、”#aarrggbb”。
也可以引用一个包含此类型值的资源(格式:@[package:]type:name)或主题属性(格式:?[package][type:]name)。
对应的全局属性资源符号是tint。
API 23
关联方法:setImageTintMode(PorterDuff.Mode tintMode)
属性说明:设置图片色调的渲染模式。
必须是以下常量之一:
src_over
src_in
src_atop
multiply
screen
add
对应的全局属性资源符号是tintMode。
跳转view.View
ImageView(Context context)
ImageView(Context context, AttributeSet attrs)
ImageView(Context context, AttributeSet attrs, int defStyleAttr)
ImageView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes)