概述
imageView通常位于res/drawable
文件目录下,设置图源资源来源可以通过视图xml文件中的src
属性进行设置,例如:android:src="@drawable/logo"
,还可以通过控制器调用setImageResource设置,例如:setImageResource(R.drawable.logo)
。
属性
属性 | 作用 | 数据类型 | 对应方法 |
---|
src | 图片资源来源 | | setImageResource |
contentDescription | 图片内容描述 | | setContentDescription |
adjustViewBounds | 宽和高等比放大, 谁大跟谁变,需要搭配maxHeight和maxWidth使用 | 布尔值 | setAdjustViewBounds |
scaleType | 缩放类型 | 详细见下方 | setScaleType 不过要将缩放类型转化成大写或下划线大写 |
scaleType缩放类型
类型 | 作用 |
---|
matrix | 不对原图做改变,直接从左上角开始截取等大小的视图 |
fitXY | 拉伸图片达到填充视图(正方形图片适用) |
fitStart | 原图比例不变,位于视图的上方或左侧 |
fitCenter | 原图比例不变,位于视图的上方或左侧 |
fitEnd | 原图比例不变,位于视图的下方或右侧 |
center | 不对原图做改变,直接从中间截取等大小的视图 |
centerCrop | 拉伸图片并从中间截取等大小的视图 |
centerInside | 原图比例不变,缩小图片位于视图中间(不放大) |
代码示例
<ImageView
android:id="@+id/img"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxHeight="100dp"
android:maxWidth="100dp"
android:adjustViewBounds="true"
android:layout_gravity="center"
android:contentDescription="@string/contentDescription"
android:src="@drawable/logo"
android:scaleType="centerInside"/>
ImageView img = findViewById(R.id.img);
img.setImageResource(R.drawable.logo);
img.setContentDescription("logo");
img.setAdjustViewBounds(true);
img.setScaleType(ImageView.ScaleType.CENTER_INSIDE);