表格布局

简介: //表格布局TableLayout //TableLayout是采用表格的形式对控件的布局进行管理的.在TableLayout布局管理器中,要使用TableRow进行对表格行的控制,之后所有的组件都要在TableRow中进行 //示例一:利用...
//表格布局TableLayout
//TableLayout是采用表格的形式对控件的布局进行管理的.在TableLayout布局管理器中,要使用TableRow进行对表格行的控制,之后所有的组件都要在TableRow中进行
//示例一:利用xml文件进行布局:
<?xml version="1.0" encoding="utf-8"?>
<TableLayout 
	xmlns:android="http://schemas.android.com/apk/res/android"
	android:orientation="vertical" 
	android:layout_width="fill_parent"
	android:layout_height="fill_parent">
	<TableRow><!--第一行包括了个EditText和一个Button-->
		<EditText
			android:id="@+id/myinput" 
			android:layout_width="wrap_content"
			android:layout_height="wrap_content" 
			android:text="请输入检索关键字..." />
		<Button
			android:id="@+id/search" 
			android:layout_width="wrap_content"
			android:layout_height="wrap_content" 
			android:text="检索" />
	</TableRow>
	<View
		android:layout_height="2px"
		android:background="#FF909090"/><!--此View为一条行之间的分割线-->
	<TableRow><!--第一行包括了个TextView和一个RadioGroup-->
		<TextView
			android:id="@+id/info1" 
			android:layout_width="wrap_content"
			android:layout_height="wrap_content"
			android:textSize="20px" 
			android:text="请选择文字编码:" />
		<RadioGroup
			android:id="@+id/encoding"
			android:layout_width="wrap_content"
			android:layout_height="wrap_content"
			android:orientation="vertical"
			android:checkedButton="@+id/gbk"><!--默认选中的是id为gbk这个框-->
			<RadioButton
				android:id="@+id/urf"
				android:text="UTF编码" />
			<RadioButton
				android:id="@+id/gbk"
				android:text="GBK编码" />
		</RadioGroup>
	</TableRow>
</TableLayout >

//注意:
//用View作为行与行之间的分割线很重要!!!!!!!!!!

//示例二:利用xml文件进行布局:
<?xml version="1.0" encoding="utf-8"?>
<TableLayout 
	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/mldn_logo"><!--给此表格指定一张背景图片-->
        android:shrinkColumns="3"><!--让所有行的第3列缩放显示,比如第二行的地址太长了,最好有缩放-->
        android:collapseColumns="0,1"><!--让所有行的第0和1列不显示,这个是由业务来决定的-->
	<TableRow><!--第一行用来显示ID,姓名,EMAIL,地址-->
		<TextView
			android:layout_column="0"<!--此为第0列-->
			android:text="ID"
			android:gravity="center_horizontal"<!--内容水平居中-->
			android:padding="8px"/>
		<TextView
			android:layout_column="1"
			android:text="姓名"
			android:gravity="center_horizontal"
			android:padding="8px"/>
		<TextView
			android:layout_column="2"
			android:text="EMAIL"
			android:gravity="center_horizontal"
			android:padding="8px"/>
		<TextView
			android:layout_column="3"
			android:text="地址"
			android:gravity="center_horizontal"
			android:padding="8px"/>
	</TableRow>
	<View<!--行与行之间的分割线-->
		android:layout_height="2px"
		android:background="#FF909090"/>
	<TableRow><!--第二行用来显示第一条信息-->
		<TextView
			android:layout_column="0"
			android:text="MLDN"
			android:gravity="center_horizontal"
			android:padding="3px"/>
		<TextView
			android:layout_column="1"
			android:text="郭芙蓉"
			android:gravity="center_horizontal"
			android:padding="3px"/>
		<TextView
			android:layout_column="2"
			android:text="mldnkf@163.com"
			android:gravity="center_horizontal"
			android:padding="3px"/>
		<TextView
			android:layout_column="3"
			android:text="中华人民共和国新疆维吾尔自治区伊犁哈萨克自治州察部察尔锡伯族自治县"
			android:gravity="center_horizontal"
			android:padding="3px"/>
	</TableRow>
	<TableRow><!--与第一行一样-->
		<TextView
			android:layout_column="0"
			android:text="LXH"
			android:gravity="center_horizontal"
			android:padding="3px"/>
		<TextView
			android:layout_column="1"
			android:text="李大嘴"
			android:gravity="center_horizontal"
			android:padding="3px"/>
		<TextView
			android:layout_column="2"
			android:text="mldnqa@163.com"
			android:gravity="center_horizontal"
			android:padding="3px"/>
		<TextView
			android:layout_column="3"
			android:text="成都"
			android:gravity="center_horizontal"
			android:padding="3px"/>
	</TableRow>
</TableLayout >

//在Activity中动态生成上面的布局:
package cn.com;
import android.app.Activity;
import android.os.Bundle;
import android.view.ViewGroup;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;
public class TabLayoutActivity extends Activity {
	private String titleData[][] = new String[][] {
			{ "ID", "姓名", "EMAIL", "地址" },{ "id1", "郭芙蓉", "gfr@163.com","十里铺" },
			{ "id2", "李大嘴", "lidazui@163.com", "同福客栈" } };  // 数据

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		TableLayout layout = new TableLayout(this); // 定义表格布局
		TableLayout.LayoutParams layoutParam = new TableLayout.LayoutParams(
				ViewGroup.LayoutParams.FILL_PARENT,
				ViewGroup.LayoutParams.FILL_PARENT); // 定义布局管理器的参数
		layout.setBackgroundResource(R.drawable.haha);// 定义背景图片
		for (int x = 0; x < this.titleData.length; x++) { // 循环设置表格行
			TableRow row = new TableRow(this); // 定义表格行
			for (int y = 0; y < this.titleData[x].length; y++) {//titleData[x].length表示第x行的长度(列数)
				TextView text = new TextView(this);
				text.setText(this.titleData[x][y]); // 设置文本内容
				row.addView(text, y); // 加入一个编号
			}
			layout.addView(row); // 向表格之中增加若干个表格行
		}
		super.setContentView(layout, layoutParam); // 设置显示
	}
}

相关文章
|
15天前
|
Android开发
Android布局——帧布局、表格布局、网格布局
Android布局——帧布局、表格布局、网格布局
|
15天前
|
XML 数据可视化 Java
Android布局——线性布局、相对布局、帧布局、表格布局、网格布局、约束布局
Android布局——线性布局、相对布局、帧布局、表格布局、网格布局、约束布局
解决CardView在5.0以下留白的问题
解决CardView在5.0以下留白的问题
120 0
|
Android开发 容器
TableLayout(表格布局)
前面我们已经学习了平时实际开发中用得较多的线性布局(LinearLayout)与相对布局(RelativeLayout),其实学完这两个基本就够用了,这一节我们会学习Android中的第三个布局:TableLayout(表格布局)!
77 0
|
开发框架 Android开发 iOS开发
Android开发中TableLayout表格布局(一)
Android开发中TableLayout表格布局
475 0
Android开发中TableLayout表格布局(一)
|
Android开发 开发者 容器
Android开发中TableLayout表格布局(二)
Android开发中TableLayout表格布局
104 0
Android开发中TableLayout表格布局(二)
|
编解码 API Android开发
Android开发之AbsoluteLayout绝对布局
Android开发之AbsoluteLayout绝对布局
160 0
Android开发之AbsoluteLayout绝对布局