当前位置: 代码迷 >> Android >> Android入门第五篇之TableLayout (2)
  详细解决方案

Android入门第五篇之TableLayout (2)

热度:84   发布时间:2016-05-01 16:16:54.0
Android入门第五篇之TableLayout (二)

上一篇文章,主要将如何UI设计器设计TableLayout + TableRow,由于实际应用中,经常需要在代码里往TableLayout添加数据(9宫图也可以用TableLayout做出来?),本文就是介绍这方面的简单使用方法。


main.xml的代码如下,用到TableLayout的ID为TableLayout01:

view plaincopy to clipboardprint?
  1. <?xml?version="1.0"?encoding="utf-8"?>??
  2. <LinearLayout?xmlns:android="http://schemas.android.com/apk/res/android"??
  3. ????android:orientation="vertical"??
  4. ????android:layout_width="fill_parent"??
  5. ????android:layout_height="fill_parent"??
  6. ????>??
  7. ?????<TableLayout???
  8. ?????????????android:id="@+id/TableLayout01"???
  9. ?????????????android:layout_width="fill_parent"???
  10. ?????????????android:layout_height="wrap_content">??
  11. ?????</TableLayout>??
  12. </LinearLayout>??

?


JAVA代码如下:

view plaincopy to clipboardprint?
  1. package?com.LayoutDemo;??
  2. import?com.LayoutDemo.R;??
  3. import?android.app.Activity;??
  4. import?android.os.Bundle;??
  5. import?android.view.ViewGroup;??
  6. import?android.widget.TableLayout;??
  7. import?android.widget.TableRow;??
  8. import?android.widget.TextView;??
  9. public?class?LayoutDemo?extends?Activity?{??
  10. ????/**?Called?when?the?activity?is?first?created.?*/??
  11. ????private?final?int?WC?=?ViewGroup.LayoutParams.WRAP_CONTENT;??
  12. ????private?final?int?FP?=?ViewGroup.LayoutParams.FILL_PARENT;??
  13. ??????
  14. ????@Override??
  15. ????public?void?onCreate(Bundle?savedInstanceState)?{??
  16. ????????super.onCreate(savedInstanceState);??
  17. ????????setContentView(R.layout.main);??
  18. ????????//新建TableLayout01的实例??
  19. ????????TableLayout?tableLayout?=?(TableLayout)findViewById(R.id.TableLayout01);??
  20. ????????//全部列自动填充空白处??
  21. ????????tableLayout.setStretchAllColumns(true);??
  22. ????????//生成10行,8列的表格??
  23. ????????for(int?row=0;row<10;row++)??
  24. ????????{??
  25. ????????????TableRow?tableRow=new?TableRow(this);??
  26. ????????????for(int?col=0;col<8;col++)??
  27. ????????????{??
  28. ????????????????//tv用于显示??
  29. ????????????????TextView?tv=new?TextView(this);??
  30. ????????????????tv.setText("("+col+","+row+")");??
  31. ????????????????tableRow.addView(tv);??
  32. ????????????}??
  33. ????????????//新建的TableRow添加到TableLayout??
  34. ????????????tableLayout.addView(tableRow,?new?TableLayout.LayoutParams(FP,?WC));??
  35. ????????}??
  36. ????}??
  37. }??

?


结果如下图:


1?

  相关解决方案