ImageView 是 Android 中用于显示图像的控件,它功能强大,属性丰富,支持多种图像来源和显示样式。以下是 ImageView 的全部属性及其详细用法。

XML 中 ImageView 的属性

1. 基本属性

属性名 说明 示例值

android:src 设置图片资源 @drawable/ic_launcher

android:background 设置背景颜色或图片 @color/white

android:contentDescription 图片的描述信息(用于无障碍支持) "图片描述"

2. 尺寸和布局属性

属性名 说明 示例值

android:layout_width 宽度 match_parent / wrap_content

android:layout_height 高度 100dp

android:layout_margin 外边距 10dp

android:layout_gravity 控制布局中的对齐方式 center / end

3. 图像缩放相关属性

属性名 说明 示例值

android:scaleType 图片的缩放类型 center, fitCenter, fitXY

android:adjustViewBounds 是否调整视图边界以保持图片宽高比 true

android:maxWidth 最大宽度 200dp

android:maxHeight 最大高度 200dp

android:scaleType 的值详解:

说明

center 不缩放图片,保持原尺寸,居中显示

fitCenter 等比例缩放图片至完全显示在视图中

fitXY 拉伸图片以填满视图(可能会变形)

centerCrop 等比例缩放图片,裁剪后填满视图

centerInside 等比例缩放图片,完全显示在视图中,居中显示

4. 颜色处理属性

属性名 说明 示例值

android:tint 设置图片的颜色过滤器 @color/blue

android:tintMode 设置颜色混合模式 src_over, src_in

5. 图像对齐相关属性

属性名 说明 示例值

android:gravity 控制图片内容的对齐方式 center / end / start

6. 其他属性

属性名 说明 示例值

android:alpha 设置透明度,范围 0.0 - 1.0 0.5

android:cropToPadding 图片裁剪是否考虑内边距 true

Java/Kotlin 中的动态用法

基本用法

Java 示例:

ImageView imageView = findViewById(R.id.imageView);

imageView.setImageResource(R.drawable.sample_image);

imageView.setBackgroundColor(Color.WHITE);

imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);

Kotlin 示例:

val imageView: ImageView = findViewById(R.id.imageView)

imageView.setImageResource(R.drawable.sample_image)

imageView.setBackgroundColor(Color.WHITE)

imageView.scaleType = ImageView.ScaleType.FIT_CENTER

动态设置图像的来源

1. 从资源加载图片:

imageView.setImageResource(R.drawable.sample_image);

2. 从网络加载图片(结合 Glide 库):

Glide.with(context)

 .load("https://example.com/image.jpg")

 .into(imageView);

3. 从 URI 加载图片:

Uri uri = Uri.parse("android.resource://com.example.myapp/" + R.drawable.sample_image);

imageView.setImageURI(uri);

4. 从 Bitmap 设置图片:

Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.sample_image);

imageView.setImageBitmap(bitmap);

设置图片缩放样式

imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);

添加点击事件

imageView.setOnClickListener(v -> {

 Toast.makeText(context, "Image Clicked", Toast.LENGTH_SHORT).show();

});

设置颜色过滤器

imageView.setColorFilter(Color.RED); // 设置红色滤镜

imageView.clearColorFilter(); // 清除滤镜

设置透明度

imageView.setAlpha(0.5f); // 设置透明度为50%

完整的 XML 和 Java 示例

XML 布局文件:

<ImageView

 android:id="@+id/imageView"

 android:layout_width="200dp"

 android:layout_height="200dp"

 android:src="@drawable/sample_image"

 android:scaleType="centerCrop"

 android:tint="@color/blue"

 android:layout_margin="16dp"

 android:contentDescription="示例图片" />

Java 动态设置:

ImageView imageView = findViewById(R.id.imageView);

// 设置图片资源

imageView.setImageResource(R.drawable.sample_image);

// 设置缩放类型

imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);

// 设置点击事件

imageView.setOnClickListener(v -> {

 Toast.makeText(context, "Image Clicked!", Toast.LENGTH_SHORT).show();

});

// 动态添加滤镜

imageView.setColorFilter(Color.argb(15025500)); // 半透明红色

总结

• ImageView 是 Android 中展示图片的核心控件,提供了丰富的属性和方法。

• 灵活使用 android:scaleType、android:tint 等属性,可以实现各种图片展示效果。

• 结合第三方库(如 Glide 或 Picasso),可以轻松加载本地和网络图片。