一.TableLayout表格布局管理器:是线性布局布局的子类
说明:TableLayout是采用表格的形式对控件的布局进行管理的,在TableLayout布局管理器
之中,要使用TableRow进行表格行的控制,之后所有的组件要在TableRow中增加。
配置:
1. 通过main.xml进行配置:
<?xml version="1.0" encoding="utf-8"?>
<TableLayout //表格布局
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TableRow>
<EditText
android:id="@+id/edit1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="请输入检索关键字" />
<Button
android:id="@+id/but1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="检索" />
</TableRow>
<View
android:layout_height="2px"
android:background="#FF909090" />
<TableRow>
<TextView
android:id="@+id/text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="请选择文字编码:"
android:textSize="20px" />
<RadioGroup
android:id="@+id/group"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checkedButton="@+id/gbk"
android:orientation="vertical" >
<RadioButton
android:id="@+id/gbk"
android:text="GBK编码" />
<RadioButton
android:id="@+id/utf"
android:text="UTF编码" />
</RadioGroup>
</TableRow>
</TableLayout>
以上程序只是负责排版功能的实现。
但是对于表格的显示,除了可以实现一些固定的排版之外,显示数据也是用的很多的。
2. 表格显示数据:
<?xml version="1.0" encoding="utf-8"?>
<TableLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="@drawable/zheng" //定义背景图片
android:shrinkColumns="3" //表示编号为3的列设置为伸缩列
android:collapseColumns="0,3"> //设置0列和3列为隐藏列。
<TableRow>
<TextView
android:layout_column="0" //规定表格列的编号
android:gravity="center_horizontal"//表示的是居中行水平显示
android:padding="8px" //设置组件大小
android:text="ID" /> //显示文字
<TextView
android:layout_column="1" //规定表格列的编号
android:gravity="center_horizontal"//表示的是居中行水平显示
android:padding="8px" //设置组件大小
android:text="Name" /> //显示文字
<TextView
android:layout_column="2" //规定表格列的编号
android:gravity="center_horizontal"//表示的是居中行水平显示
android:padding="8px" //设置组件大小
android:text="Age" /> //显示文字
<TextView
android:layout_column="3" //规定表格列的编号
android:gravity="center_horizontal"//表示的是居中行水平显示
android:padding="8px" //设置组件大小
android:text="Adress" /> //显示文字
<!-- 分割线 -->
</TableRow>
<TableRow>
<TextView
android:layout_column="0"
android:gravity="center_horizontal"
android:padding="3px"
android:text="110029016" />
<TextView
android:layout_column="1"
android:gravity="center_horizontal"
android:padding="3px"
android:text="郑勇" />
<TextView
android:layout_column="2"
android:gravity="center_horizontal"
android:padding="3px"
android:text="21" />
<TextView
android:layout_column="3"
android:gravity="center_horizontal"
android:padding="3px"
android:text="四川省" />
</TableRow>
<TableRow>
<TextView
android:layout_column="0"
android:gravity="center_horizontal"
android:padding="3px"
android:text="110029015" />
<TextView
android:layout_column="1"
android:gravity="center_horizontal"
android:padding="3px"
android:text="徐贺" />
<TextView
android:layout_column="2"
android:gravity="center_horizontal"
android:padding="3px"
android:text="20" />
<TextView
android:layout_column="3"
android:gravity="center_horizontal"
android:padding="3px"
android:text="河北唐山" />
</TableRow>
</TableLayout>
3. Activity程序动态配置表格布局:
package com.tablelayout;
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 TabelActivity extends Activity {
private String data[][] = new String[][] {
{ "ID", "Name", "Age", "Adress" },
{ "110029015", "徐贺", "20", "河北唐山" },
{ "110029016", "郑勇", "21", "四川内江" } };
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TableLayout layout = new TableLayout(this); // 定义表格布局器
TableLayout.LayoutParams laoutparam = new TableLayout.LayoutParams(
ViewGroup.LayoutParams.FILL_PARENT,
ViewGroup.LayoutParams.FILL_PARENT); //定义表格布局的参数
layout.setBackgroundResource(R.drawable.zheng); //设置背景图片
for(int x=0; x< this.data.length;x++) //循环设置表格行
{
TableRow row = new TableRow(this); //定义表格行
for(int y=0;y<this.data[x].length;y++)
{
TextView text = new TextView(this); //定义显示文本
text.setText(data[x][y]); //设置文本内容
row.addView(text,y); //加入一个编号
}
layout.addView(row); //向表格之中增加若干行
}
setContentView(layout,laoutparam);
}
}
03 表格布局管理器
最新推荐文章于 2022-03-13 11:38:57 发布