学习导图
(1)TableLayout的相关简介
java的swing编程和html中经常会使用到表格,可见表格的应用开发中使用还是比较多的,同样android也为我们提供这样的布局方式。
(2)如何确定行数
a:直接向TableLayout组件,直接占一行
b:如果想在一行添加多个组件, 就需要使用TableRow中添加
c:TableRow中有多少个组件,这一行就会有多少列
(3)三个常用属性(都是从零开始计数)
Shrinkable:如果某一列被设置为Shrinkable,那么该列的所有单元格的宽度可以被收缩,以保证表格能适应父容器的宽度;
Stretchable:如果某一列被设置为Stretchable,那么该列的所有单元格的宽度可以拉伸,以保证组件完全填充表格空余空间;
Collapsed:如果某一列被设置为Collapsed,那么该列的所有单元格的都会被隐藏;
(4)使用实例(为了演示效果没有,所有组件都没有设置id)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<!--定义第一个表格布局,指定第二列允许收缩,第三列拉伸-->
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:shrinkColumns="1"
android:stretchColumns="2">
<!-- 直接添加组件会独占一行-->
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="独自占一行"
/>
<TableRow>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="普通按钮"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="收缩按钮"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="拉伸按钮"/>
</TableRow>
</TableLayout>
<!--定义第二个表格布局指定第二列隐藏-->
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:collapseColumns="1">
<!-- 直接添加组件会独占一行-->
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="独自占一行"
/>
<TableRow>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="普通按钮"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="普通按钮"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="普通按钮"/>
</TableRow>
</TableLayout>
<!--定义第三个表格布局,指定第二列,第三列都可以被拉伸-->
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:stretchColumns="1,2">
<!-- 直接添加组件会独占一行-->
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="独自占一行"
/>
<TableRow>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="普通按钮"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="拉伸按钮"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="拉伸按钮"/>
</TableRow>
</TableLayout>
</LinearLayout>