相对布局

简介: //相对布局RelativeLayout //利用XML文件布局: android:text="北京欢迎您" />
//相对布局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类

相关文章
|
6月前
|
Android开发
08. 【Android教程】相对布局 RelativeLayout
08. 【Android教程】相对布局 RelativeLayout
90 0
|
5月前
|
XML Android开发 数据安全/隐私保护
使用RelativeLayout布局Android界面
使用RelativeLayout布局Android界面
|
6月前
|
开发工具 Android开发 数据安全/隐私保护
12. 【Android教程】绝对布局 AbsoluteLayout
12. 【Android教程】绝对布局 AbsoluteLayout
94 0
|
6月前
|
Android开发
09. 【Android教程】表格布局 TableLayout
09. 【Android教程】表格布局 TableLayout
91 0
|
7月前
|
XML 数据可视化 Java
Android布局——线性布局、相对布局、帧布局、表格布局、网格布局、约束布局
Android布局——线性布局、相对布局、帧布局、表格布局、网格布局、约束布局
196 1
|
7月前
|
Android开发
Android布局——帧布局、表格布局、网格布局
Android布局——帧布局、表格布局、网格布局
|
容器
RelativeLayout(相对布局)
LinearLayout也是我们用的比较多的一个布局,我们更多的时候更钟情于他的weight(权重)属性,等比例划分,对屏幕适配还是帮助蛮大的;但是使用LinearLayout的时候也有一个问题,就是当界面比较复杂的时候,需要嵌套多层的LinearLayout,这样就会降低UI Render的效率(渲染速度),而且如果是listview或者GridView上的item,效率会更低,另外太多层LinearLayout嵌套会占用更多的系统资源,还有可能引发stackoverflow;但是如果我们使用RelativeLayout的话,可能仅仅需要一层就可以完成了,以父容器或者兄弟组件参考+margi
|
Android开发 容器
TableLayout(表格布局)
前面我们已经学习了平时实际开发中用得较多的线性布局(LinearLayout)与相对布局(RelativeLayout),其实学完这两个基本就够用了,这一节我们会学习Android中的第三个布局:TableLayout(表格布局)!
105 0
|
XML Android开发 数据格式
Android开发中RelativeLayout相对布局
Android开发中RelativeLayout相对布局
335 0
Android开发中RelativeLayout相对布局