上一篇文章,主要将如何UI设计器设计TableLayout + TableRow,由于实际应用中,经常需要在代码里往TableLayout添加数据(9宫图也可以用TableLayout做出来?),本文就是介绍这方面的简单使用方法。 main.xml的代码如下,用到TableLayout的ID为TableLayout01:
?
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));??
- ????????}??
- ????}??
- }??
?
结果如下图:
?