博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
7.5 TableLayout布局详解
阅读量:7059 次
发布时间:2019-06-28

本文共 3718 字,大约阅读时间需要 12 分钟。

TableLayout表格布局,将子元素的位置分配到行或列中。TableLayout布局由许多的TableRow(行) 组成,它没有列的概念,列是由行中的控件数目决定的。TableLayout布局也是实际中常用的布局方式。

TableLayout布局不会显示行、列 、单元格的边框线。TableLayout布局应用如图7-17所示。
 

图7-17 TableLayout1
TableLayout布局文件请参考代码清单7-20,完整代码请参考chapter7_5工程中tablelayout1.xml代码部分(chapter7_5/res/layout/tablelayout1.xml)。
【代码清单7-20】

 
  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" 
  3. android:layout_width="match_parent" android:layout_height="match_parent"> 
  4.  
  5. <TableRow> 
  6. <TextView android:text="@string/row1_1" android:padding="3dip" /> 
  7. <TextView android:text="@string/row1_2" android:padding="3dip" /> 
  8. <TextView android:text="@string/row1_3" android:padding="3dip" /> 
  9. </TableRow> 
  10. <TableRow> 
  11. <TextView android:text="@string/row2_1" android:padding="3dip" /> 
  12. <TextView android:text="@string/row2_2" android:padding="3dip" /> 
  13. <TextView android:text="@string/row2_3" android:padding="3dip" /> 
  14. </TableRow> 
  15. <TableRow> 
  16. <TextView android:text="@string/row3_1" android:padding="3dip" /> 
  17. <TextView android:text="@string/row3_2" android:padding="3dip" /> 
  18. <TextView android:text="@string/row3_3" android:padding="3dip" /> 
  19. </TableRow> 
  20. <TableRow> 
  21. <TextView android:text="@string/row4_1" android:padding="3dip" /> 
  22. <TextView android:text="@string/row4_2" android:padding="3dip" /> 
  23. <TextView android:text="@string/row4_3" android:padding="3dip" /> 
  24. </TableRow> 
  25. <TableRow> 
  26. <TextView android:text="@string/row5_1" android:padding="3dip" /> 
  27. <TextView android:text="@string/row5_2" android:padding="3dip" /> 
  28. <TextView android:text="@string/row5_3" android:padding="3dip" /> 
  29. </TableRow> 
  30. <TableRow> 
  31. <TextView android:text="@string/row6_1" android:padding="3dip" /> 
  32. <TextView android:text="@string/row6_2" android:padding="3dip" /> 
  33. <TextView android:text="@string/row6_3" android:padding="3dip" /> 
  34. </TableRow> 
  35.  
  36. </TableLayout>  

下面再看一个合并单元格TableLayou布局应用图7-18所示。
 

图7-18 TableLayout2
TableLayout布局文件请参考代码清单7-21,完整代码请参考chapter7_5工程中tablelayout2.xml代码部分(chapter7_5/res/layout/tablelayout2.xml)。
【代码清单7-21】

 
  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" 
  3. android:layout_width="match_parent" android:layout_height="match_parent" 
  4. android:stretchColumns="0,1,2"> 
  5. <TableRow> 
  6. <TextView android:text="@string/row1_1" android:padding="3dip" /> 
  7. <TextView android:text="@string/row1_2" android:padding="3dip" /> 
  8. <TextView android:text="row1_3" android:padding="3dip" /> 
  9. </TableRow> 
  10.  
  11. <TableRow> 
  12. <TextView android:text="@string/row2_1" android:padding="3dip" /> 
  13. <TextView android:text="@string/row2_2" android:padding="3dip" 
  14. android:layout_span="2" android:background="#ff0060" /> 
  15. </TableRow> 
  16.  
  17. <TableRow> 
  18. <TextView android:text="@string/row3_1" android:padding="3dip" /> 
  19. <!-- android:layout_column="1" --> 
  20. <TextView android:text="@string/row3_2" android:padding="3dip" /> 
  21. <TextView android:text="row3_3" android:padding="3dip" /> 
  22. </TableRow> 
  23.  
  24. <TableRow> 
  25. <TextView android:text="@string/row4_1" android:padding="3dip" /> 
  26. <TextView android:text="@string/row4_2" android:padding="3dip" /> 
  27. <TextView android:text="row4_3" android:padding="3dip" /> 
  28. </TableRow> 
  29.  
  30. <TableRow> 
  31. <TextView android:text="@string/row5_1" android:padding="3dip" /> 
  32. <TextView android:text="@string/row5_2" android:padding="3dip" /> 
  33. <TextView android:text="row5_3" android:padding="3dip" /> 
  34. </TableRow> 
  35.  
  36. <TableRow> 
  37. <TextView android:text="@string/row6_1" android:padding="3dip" /> 
  38. <TextView android:text="@string/row6_2" android:padding="3dip" /> 
  39. <TextView android:text="row6_3" android:padding="3dip" /> 
  40. </TableRow> 
  41. </TableLayout>  

TableLayout标签内的android:stretchColumns="0,1,2"属性是第一列、第二列、第三列自动调节列宽。& lt;TableRow>内的TextView控件中的属性android:layout_span="2"是合并一个单元格,如图7-18显示的 粉色背景就是合并的单元格。
                                        出自《Android开发案例驱动教程》第七章

转载地址:http://ocrol.baihongyu.com/

你可能感兴趣的文章
总是弹出visual studio 实时调试器 三种解决办法
查看>>
12岁男孩发现Firefox严重安全漏洞获奖3000美元
查看>>
谷歌发安全警告:社交网络威胁用户隐私
查看>>
一起谈.NET技术,System.DateTime详解
查看>>
一起谈.NET技术,VS2010技巧:如何在js文件中使用jQuery智能感知
查看>>
一道有趣的JS问题
查看>>
安卓开发中的一些经验总结
查看>>
HTML5规范的本地存储
查看>>
【C/C++】一些基本问题
查看>>
Robot Framework自动化测试 ---视频与教程免费分享
查看>>
php -- 数组排序
查看>>
node实现缓存
查看>>
Ubuntu里的内核交叉编译和共享文件夹编译的区别
查看>>
阿里云消息队列MQ_HTTP接入 for .NetCore 简单例子
查看>>
ActiveMQ 报错 Temporary Store limit is 51200 mb
查看>>
【转】网络编程socket基本API详解
查看>>
查找某关键字在目标字符串中出现次数及位置
查看>>
新浪微博iOS版SDK“宝玉XP”框架学习笔记
查看>>
Jmeter集合点
查看>>
webSphere中文日志乱码,设置日志编码方法
查看>>