Android学习开发之路9——TableLayout

TableLayout即表格布局,也就是采用行列的方式来管理UI控件,每一个TableRow代表一行,列的数目根据你添加的控件的数目来确定。且可以指定每一列的拉伸收缩。

实现效果如下:

Android学习开发之路9——TableLayout

XML代码如下:

  1. <?xmlversion="1.0"encoding="utf-8"?>
  2. <LinearLayoutxmlns: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. <!--定义第一个表格布局,指定第2列允许收缩,第3列允许拉伸-->
  8. <TableLayoutandroid:id="@+id/TableLayout01"
  9. android:layout_width="fill_parent"
  10. android:layout_height="wrap_content"
  11. android:shrinkColumns="1"
  12. android:stretchColumns="2"
  13. >
  14. <!--直接添加按钮,它自己会占一行-->
  15. <Buttonandroid:id="@+id/ok1"
  16. android:layout_width="wrap_content"
  17. android:layout_height="wrap_content"
  18. android:text="独自一行的按钮"
  19. />
  20. <!--添加一个表格行-->
  21. <TableRow>
  22. <!--为该表格行添加3个按钮-->
  23. <Buttonandroid:id="@+id/ok2"
  24. android:layout_width="wrap_content"
  25. android:layout_height="wrap_content"
  26. android:text="普通按钮"
  27. />
  28. <Buttonandroid:id="@+id/ok3"
  29. android:layout_width="wrap_content"
  30. android:layout_height="wrap_content"
  31. android:text="允许被收缩的按钮"
  32. />
  33. <Buttonandroid:id="@+id/ok4"
  34. android:layout_width="wrap_content"
  35. android:layout_height="wrap_content"
  36. android:text="允许被拉伸的按钮"
  37. />
  38. </TableRow>
  39. </TableLayout>
  40. <!--定义第二个表格布局,指定第二列隐藏-->
  41. <TableLayoutandroid:id="@+id/TableLayout01"
  42. android:layout_width="fill_parent"
  43. android:layout_height="wrap_content"
  44. android:collapseColumns="1"
  45. >
  46. <!--直接添加按钮,它自己会占一行-->
  47. <Buttonandroid:id="@+id/ok5"
  48. android:layout_width="wrap_content"
  49. android:layout_height="wrap_content"
  50. android:text="独自一行的按钮"
  51. />
  52. <!--定义一个表格行-->
  53. <TableRow>
  54. <!--为该表格行添加3个按钮-->
  55. <Buttonandroid:id="@+id/ok6"
  56. android:layout_width="wrap_content"
  57. android:layout_height="wrap_content"
  58. android:text="普通按钮1"
  59. />
  60. <Buttonandroid:id="@+id/ok7"
  61. android:layout_width="wrap_content"
  62. android:layout_height="wrap_content"
  63. android:text="被隐藏的按钮"
  64. />
  65. <Buttonandroid:id="@+id/ok8"
  66. android:layout_width="wrap_content"
  67. android:layout_height="wrap_content"
  68. android:text="普通按钮3"
  69. />
  70. </TableRow>
  71. </TableLayout>
  72. <!--定义第三个表格布局,指定第2、3两列可以被拉伸-->
  73. <TableLayoutandroid:id="@+id/TableLayout01"
  74. android:layout_width="fill_parent"
  75. android:layout_height="wrap_content"
  76. android:stretchColumns="1,2"
  77. >
  78. <!--直接添加按钮,它自己会占一行-->
  79. <Buttonandroid:id="@+id/ok9"
  80. android:layout_width="wrap_content"
  81. android:layout_height="wrap_content"
  82. android:text="独自一行的按钮"
  83. />
  84. <!--定义一个表格行-->
  85. <TableRow>
  86. <!--为该表格行添加3个按钮-->
  87. <Buttonandroid:id="@+id/ok10"
  88. android:layout_width="wrap_content"
  89. android:layout_height="wrap_content"
  90. android:text="普通按钮"
  91. />
  92. <Buttonandroid:id="@+id/ok11"
  93. android:layout_width="wrap_content"
  94. android:layout_height="wrap_content"
  95. android:text="允许被拉伸的按钮"
  96. />
  97. <Buttonandroid:id="@+id/ok12"
  98. android:layout_width="wrap_content"
  99. android:layout_height="wrap_content"
  100. android:text="允许被拉伸的按钮"
  101. />
  102. </TableRow>
  103. <!--定义一个表格行-->
  104. <TableRow>
  105. <!--为该表格行添加2个按钮-->
  106. <Buttonandroid:id="@+id/ok13"
  107. android:layout_width="wrap_content"
  108. android:layout_height="wrap_content"
  109. android:text="普通按钮"
  110. />
  111. <Buttonandroid:id="@+id/ok14"
  112. android:layout_width="wrap_content"
  113. android:layout_height="wrap_content"
  114. android:text="允许被拉伸的按钮"
  115. />
  116. </TableRow>
  117. </TableLayout>
  118. </LinearLayout>

<?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" > <!-- 定义第一个表格布局,指定第2列允许收缩,第3列允许拉伸 --> <TableLayout android:id="@+id/TableLayout01" android:layout_width="fill_parent" android:layout_height="wrap_content" android:shrinkColumns="1" android:stretchColumns="2" > <!-- 直接添加按钮,它自己会占一行 --> <Button android:id="@+id/ok1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="独自一行的按钮" /> <!-- 添加一个表格行 --> <TableRow> <!-- 为该表格行添加3个按钮 --> <Button android:id="@+id/ok2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="普通按钮" /> <Button android:id="@+id/ok3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="允许被收缩的按钮" /> <Button android:id="@+id/ok4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="允许被拉伸的按钮" /> </TableRow> </TableLayout> <!-- 定义第二个表格布局 ,指定第二列隐藏--> <TableLayout android:id="@+id/TableLayout01" android:layout_width="fill_parent" android:layout_height="wrap_content" android:collapseColumns="1" > <!-- 直接添加按钮,它自己会占一行 --> <Button android:id="@+id/ok5" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text=" 独自一行的按钮 " /> <!--定义一个表格行--> <TableRow> <!-- 为该表格行添加3个按钮 --> <Button android:id="@+id/ok6" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="普通按钮1" /> <Button android:id="@+id/ok7" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="被隐藏的按钮" /> <Button android:id="@+id/ok8" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="普通按钮 3" /> </TableRow> </TableLayout> <!-- 定义第三个表格布局 ,指定第2、3两列可以被拉伸--> <TableLayout android:id="@+id/TableLayout01" android:layout_width="fill_parent" android:layout_height="wrap_content" android:stretchColumns="1,2" > <!-- 直接添加按钮,它自己会占一行 --> <Button android:id="@+id/ok9" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="独自一行的按钮" /> <!--定义一个表格行--> <TableRow> <!-- 为该表格行添加3个按钮 --> <Button android:id="@+id/ok10" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="普通按钮" /> <Button android:id="@+id/ok11" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="允许被拉伸的按钮" /> <Button android:id="@+id/ok12" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="允许被拉伸的按钮" /> </TableRow> <!--定义一个表格行--> <TableRow> <!-- 为该表格行添加2个按钮 --> <Button android:id="@+id/ok13" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="普通按钮" /> <Button android:id="@+id/ok14" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="允许被拉伸的按钮" /> </TableRow> </TableLayout> </LinearLayout>

源码资料下载:

Android 应用功能150多个实例源码