//相对布局RelativeLayout //利用XML文件布局: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <ImageView android:id="@+id/imga" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/android_mldn_01"/><!--图片来源--> <ImageView android:id="@+id/imgb" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/android_mldn_02" android:layout_toRightOf="@id/imga"/><!--此图片放在imga的右边--> <TextView android:id="@+id/mytext" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/imgb" <!--此图片放在imgb的下边--> android:layout_toRightOf="@id/imga"<!--而且放在imga的右边--> android:text="北京欢迎您" /> <Button android:id="@+id/mybut" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/mytext" <!--此按钮放在mytext的下边--> android:text="http://www.sohu.cn" /> </RelativeLayout> //利用代码生成相对布局: import android.app.Activity; import android.os.Bundle; import android.view.ViewGroup; import android.widget.EditText; import android.widget.RelativeLayout; public class MyRelativeLayoutDemo extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.setContentView(R.layout.main); RelativeLayout rl = (RelativeLayout) super.findViewById(R.id.mylayout); //得到已经存在的布局管理器.所以要在xml中给此RelativeLayout标签添加id RelativeLayout.LayoutParams param = new RelativeLayout.LayoutParams( ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.FILL_PARENT); // 定义参数 param.addRule(RelativeLayout.BELOW, R.id.mybut); // 新的组件放在mybut组件之下 param.addRule(RelativeLayout.RIGHT_OF, R.id.imga); //且放在第一张图片的右边 EditText text = new EditText(this); // 输入文本 rl.addView(text, param); // 向一个布局管理器之中增加组件 } } //总结: //1 定义布局管理器采用的是RelativeLayout类 //2 定义参数采用的是RelativeLayout.LayoutParams类