分类: 系统运维
2012-02-09 15:38:00
TableLayout是采用表格的形式对控件的布局进行管理的,在TableLayout布局管理器之中,要使用TableRow进行表格的行控制,之后所有的组件要在TableRow中增加
例:在main.xml文件之中指定排版及定义组件
xmlns:android="
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="请输入检索关键字..." />
android:id="@+id/search"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="检索" />
android:layout_height="2px"
android:background="#FF909090"/>
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20px"
android:text="请选择文字编码" />
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:checkedButton="@+id/gbk">
android:text="UTF编码" />
android:text="gbk编码" />
例:显示数据
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
android:text="ID" 显示文字
android:gravity="center_horizontal" 表示的是居中进行水平显示
android:padding="8px"/> 设置组件的大小
android:text="姓名"
android:gravity="center_horizontal"
android:padding="8px"/>
android:text="Email"
android:gravity="center_horizontal"
android:padding="8px"/>
android:text="地址"
android:gravity="center_horizontal"
android:padding="8px"/>
android:background="#FF909090"/>
android:text="颜群"
android:gravity="center_horizontal"
android:padding="3px"/>
android:text="fish"
android:gravity="center_horizontal"
android:padding="3px"/>
android:text="yanqunqqgk@163.com"
android:gravity="center_horizontal"
android:padding="3px"/>
android:text="西安理工大学计算机学院软件"
android:gravity="center_horizontal"
android:padding="3px"/>
此时发现地址栏中的信息显示不完整。可将其指定为伸缩列。
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:shrinkColumns="3"> 第3列为伸缩列
也可以定义某些列不显示:
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:collapseColumns="0,3"> 设置第0和3列不显示
也可增加背景图片:
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:shrinkColumns="3"
android:background="@drawable/sweet">
通过程序配置表格布局:
package com.fish.demo;
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 TableLayoutProjectActivity extends Activity
{
private String titleData[][] = new String[][]{{"id","姓名","email","地址"},{"001","颜群","yanqunqqgk@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.setBackgroundColor(R.drawable.sweet);
for(int x=0; x < this.titleData.length;x++)
{
TableRow row = new TableRow(this);//定义表格行
for(int y = 0 ; y
TextView text = new TextView(this) ;
text.setTag(this.titleData[x][y]) ;//设置文本内容
row.addView(text,y);//加入一个编号
}
layout.addView(row); //向表格之中增加若干戈表格行
}
setContentView(layout,layoutParam);//设置显示
}
}
这种通过程序实现表格布局本身是困难的,基本不使用这种方式,而使用配置完成。