欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android入门之TableLayout应用解析(二)

程序员文章站 2022-05-16 12:47:26
本文在上一篇初步介绍tablelayout常用属性的基础上,将进一步介绍如何ui设计器设计tablelayout + tablerow。由于实际应用中,经常需要在代码里往t...

本文在上一篇初步介绍tablelayout常用属性的基础上,将进一步介绍如何ui设计器设计tablelayout + tablerow。由于实际应用中,经常需要在代码里往tablelayout添加数据(9宫图也可以用tablelayout做出来 ),本文就是介绍这方面的简单使用方法。

main.xml的代码如下,用到tablelayout的id为tablelayout01:

<?xml version="1.0" encoding="utf-8"?>
<linearlayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  >
   <tablelayout 
       android:id="@+id/tablelayout01" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content">
   </tablelayout>
</linearlayout>

java代码部分如下:

package com.layoutdemo;
import com.layoutdemo.r;
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 layoutdemo extends activity {
  /** called when the activity is first created. */
 private final int wc = viewgroup.layoutparams.wrap_content;
 private final int fp = viewgroup.layoutparams.fill_parent;
 
  @override
  public void oncreate(bundle savedinstancestate) {
    super.oncreate(savedinstancestate);
    setcontentview(r.layout.main);
    //新建tablelayout01的实例
    tablelayout tablelayout = (tablelayout)findviewbyid(r.id.tablelayout01);
    //全部列自动填充空白处
    tablelayout.setstretchallcolumns(true);
    //生成10行,8列的表格
    for(int row=0;row<10;row++)
    {
      tablerow tablerow=new tablerow(this);
      for(int col=0;col<8;col++)
      {
       //tv用于显示
       textview tv=new textview(this);
        tv.settext("("+col+","+row+")");
        tablerow.addview(tv);
      }
      //新建的tablerow添加到tablelayout
      tablelayout.addview(tablerow, new tablelayout.layoutparams(fp, wc));
    }
  }
}

结果如下图:

Android入门之TableLayout应用解析(二)