1.修改res/layout目录下的布局文件main.xml,删除默认创建的<TextView>组件,将默认创建的线性布局的orientation属性设置为vertical(垂直),并且为该线性布局设置背景以及id属性。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/back"
android:id="@+id/layout"
>
</LinearLayout>
2.在MainActivity中,声明img和imagepath两个属性,其中img是一个imageView类型的一维数组,用于保存ImageView组件;imagepath是一个int型的一维数组,用于保存要访问的图片资源。
public class MainActivity extends Activity {
private ImageView[] img=new ImageView[4];//声明一个保存ImageView组件的数组
private int[] imagePath=new int[]{
R.drawable.img01,R.drawable.img02,R.drawable.img03,R.drawable.img04
};//声明并初始化一个保存访问图片的数组
/** Called when the activity is first created. */
3.在MainActivity的OnCreate()办法中,首先获取在XML布局文件中创建的线性布局管理器,然后通过一个for循环创建4个显示图片的ImageView组件,并将其添加到管理器中。
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
LinearLayout layout=(LinearLayout)findViewById(R.id.layout); //获取XML文件中定义的线性布局管理器
for(int i=0;i<imagePath.length;i++){
img[i]=new ImageView(this); //创建一个ImageView组件
img[i].setImageResource(imagePath[i]); //为ImageView指定要显示的图骗
img[i].setPadding(5, 5, 5, 5); //设置ImageView组件的内边距
LayoutParams params=new LayoutParams(200,120); //设置图片的宽度和高度
img[i].setLayoutParams(params); //为ImageView组件设置布局参数
layout.addView(img[i]); //将ImageView组件添加到布局管理器中
}
}
}
ImageView属性详解
一、结构
java.lang.Object
android.view.View
android.widget.ImageView
已知直接子类:
ImageButton, QuickContactBadge
已知间接子类:
ZoomButton
二、类概述
显示任意图像,例如图标。ImageView类可以加载各种来源的图片(如资源或图片库),需要计算图像的尺寸,比便它可以在其他布局中使用,并提供例如缩放和着色(渲染)各种显示选项。
三、XML属性
属性名称
描述
android:adjustViewBounds
是否保持宽高比。需要与maxWidth、MaxHeight一起使用,否则单独使用没有效果。
android:cropToPadding
是否截取指定区域用空白代替。
android:maxHeight
设置View的最大高度,单独使用无效,需要与setAdjustViewBounds一起使用。如果想设置图片固定大小,又想保持图片宽高比,需要如下设置:
1) 设置setAdjustViewBounds为true;
2) 设置maxWidth、MaxHeight;
3) 设置设置layout_width和layout_height为wrap_content。
android:maxWidth
设置View的最大宽度。同上。
android:scaleType
设置图片的填充方式
android:src
设置View的drawable(如图片,也可以是颜色,但是需要指定View的大小)
android:tint
将图片渲染成指定的颜色。