Android常用界面控件——ImageView
目录
1 ImageView
1.1在XML 中定义ImageView:
1.1.1 ImageView常用XML属性
1.1.2 ImageView ScaleType用法
1.2 在Java代码中控制ProgressBar:
1.3 区别总结
1.3.1 应用场景选择建议
1 ImageView
ImageView,图像视图,直接继承自View类,它的主要功能是用于显示图片,实际上它不仅仅可以用来显示图片,任何Drawable对象都可以使用ImageView来显示。ImageView 可以显示不同类型的图片,包括本地图片、加载网络图片或者通过代码生成的图片。ImageView可以适用于任何布局中,并且Android为其提供了缩放和着色的一些操作。
ImageView 是Android中常用的界面控件之一,它用于显示图片或者其他图形。ImageView 可以显示不同类型的图片,包括本地图片、加载网络图片或者通过代码生成的图片。
使用 ImageView 需要以下几个步骤:
-
在 XML 布局文件中,使用
<ImageView>
标签来定义 ImageView 控件,可以通过设置宽高、位置等属性来调整其显示效果。 -
在 Java 代码中,通过
findViewById()
方法获取到 ImageView 控件的引用。 -
使用
setImageResource()
方法设置 ImageView 的图片资源。可以是一个 drawable 文件,如R.drawable.image
,也可以是一个网络图片的 URL。 -
也可以使用
setScaleType()
方法来设置图片的缩放类型,常用的有 CENTER_INSIDE、CENTER_CROP、FIT_CENTER 等。 -
最后,将 ImageView 添加到界面的相应位置,如布局容器或者其他视图中,通过调用容器的
addView()
方法实现。
1.1在XML 中定义ImageView:
<ImageView
android:id="@+id/imageView"
android:layout_width="200dp"
android:layout_height="200dp"
android:scaleType="fitCenter"
android:src="@drawable/image" />
简单定义ImageView 控件的宽高为200dp,图片资源为 drawable 目录下的 image 文件,并且图片的缩放类型为 FIT_CENTER 。
1.1.1 ImageView常用XML属性
android:src //设置显示的图片,导入格式为:文件夹名/图片名
android:background //设置背景样式(同其他控件类似)
android:maxHeight //设置显示图片的的最大高度
android:maxWidth //设置显示图片的最大宽度
android:tint //设置显示图片的色彩
android:scaleType //调整图片缩放、位置等以满足图片显示的需要
android:adjustViewBounds //是否保持宽高比 需与maxWidth、MaxHeight一起使用,单独使用无效果
1.1.2 ImageView ScaleType用法
详细介绍跳转: ImageView的ScaleType原理及效果分析 - 简书 (jianshu.com)
1.2 在Java代码中控制ProgressBar:
ImageView imageView = findViewById(R.id.imageView);
imageView.setImageResource(R.drawable.image);
imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
1.3 区别总结
XML方式
- 属性直接定义在XML文件中。
- 适合静态配置。
- 更易于维护和理解,特别是在查看布局文件时。
Java方式
- 属性通过代码设置。
- 支持动态更改。
- 提供了更多的灵活性,适用于需要在运行时改变属性的情况。
具体在示例中:
- XML布局文件中,
ImageView
的scaleType
被设置为fitCenter
,并且图片资源在android:src
属性中指定。 - Java代码中,通过
setScaleType
方法设置了ImageView
的scaleType
属性,并通过setImageResource
方法指定了图片资源。
这两种方式最终的效果是一样的,即ImageView
将以fitCenter
的方式显示图片资源@drawable/image
。但是,它们的应用场景和适用性有所不同。
1.3.1 应用场景选择建议
- 如果知道图片在所有情况下都应该以某种特定的方式显示,并且这种设置不会改变,那么使用XML布局文件定义属性更为合适。
- 如果需要根据运行时的条件或用户交互来改变
ImageView
的行为(如切换图片或改变缩放类型),则使用Java代码设置属性会更加灵活。