android之tableLayout布局之一
<br />tablelayout布局说白了就和jsp页面的table布局是一样的,一个table包含几行几列。<br />下面有一段代码,<br />public class LayoutDemo extends Activity { <br /> <br /> // wc和fp两个属性,是布局用的,wc表示wrap_content刚好包含内容,FP则是填充满父容器<br />
tablelayout布局说白了就和jsp页面的table布局是一样的,一个table包含几行几列。
下面有一段代码,
public class LayoutDemo extends Activity {
// wc和fp两个属性,是布局用的,wc表示wrap_content刚好包含内容,FP则是填充满父容器
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);
//根据id属性,获取tablelayout对象
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));
}
}
}
main.xml
<?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>
代码很短,但是很不助于学习。跟我一样的初学者要受苦了。实际上,说白了,道理是这样的:
一个tableLayout,相当于一个表格。
一个tableRow ,相当于一行。
一个textView相当于一个单元格。
这样层级关系就清楚了,
1/单元格textView要放在行tableRow里面。
tableRow.addView(textView);
2/一行要放在表格里
tableLayout.addView(tableRow);
效果图:
更多推荐
所有评论(0)