完全通过xml布局文件控制UI界面,实现比较方便快捷,但是不灵活,而完全空过java代码控制UI界面,比较灵活但是很繁琐。鉴于两种方法的优缺点。下面提供一种控制UI的方法:xml和java代码混合控制。
使用xml和java代码混合控制UI界面,习惯上把变化小、行比较固定的组件放在xml文件中,把变化较多、行控制比较复杂的组件交给java代码来管理。以下给出一个例子说明如何使用这种混合机制。
<?xml version="1.0" encoding ="utf-8"?>
<LinerLayourt xmlns:android="http://schmemas.android.com/apk/res/android" android:oriientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/back/background" android:id="@+id/layout" >
在MainActivity中,声明img和imgPath两个成员变量。其中,img是一个ImageView类型的一个一维数组,用于保存ImageView组件,imgPath是一个int型的一维数组,用于保存要访问的图片资源。关键代码:
private ImageView [] img = new ImageView[4];
private int [] imagePath = new int []{
R.drawable.img1,R.drawable.img2
};
在MainActiviity的onCreate()方法中,首先获取在XM Llayout文件中创建线性管理器,然后通过一个for循环创建2个图片显示的ImageView组件,并将其添加至布局管理器中。关键代码:
setContentView(R.layout.main);
LinerLayout layout=(LinerLayout)findViewById(R.id.layout);
for(int i=0;i<imagePath.length;i++){
img[i]=new ImageView(this);
img[i].setImageResource(imagePath[i]);
LayoutParams params = new LayoutParams(253,148);
img[i].setLayoutParams(params);
layout.addView(img[i]);
}