zoukankan      html  css  js  c++  java
  • Android布局管理器(表格布局)

    表格布局有TableLayout所代表,TableLayout继承了LinearLayout,因此他的本质依然是LinearLayout。

    表格布局采用行、列的形式来进行管理,在使用的时候不需要声明多少行、多少列,而是通过添加TableRow、其他组件来控制表格的行数和列数。

    每次向TableLayout添加一个TableRow,该TableRow就是一个表格行,同时TableRow也是容器,可以在其中不断的添加其他的组件,每添加一个子组件,该表格的列就增加一列

    在表格布局管理器中,可以为单元格设置如下三种行为方式

    1. Shrinkable:如果某一列被设置为Shrinkable,那么该列的所有单元格的宽度可以被收缩,以保证该表格能适应父容器的宽度
    2. Stretchable:如果某一列被设置为Stretchable,那么该列的所有单元格的宽度可以被拉伸,以保证组件能全部填满表格空余控件
    3. Collapsed:如果某个列被设置为该属性,那么该列的所有单元格都会被隐藏

    因为TableLayout继承了LinearLayout类,因此除了支持LinearLayout的全部属性外还支持下面的三个属性

    XML属性

    方法

    说明

    android:collapseColumns

    setColumnCollapsed(int,boolean)

    设置需要被隐藏的列的序号,多个使用都逗号隔开

    android:shrinkColumns

    setShrinkAllColumns(boolean)

    设置允许被收缩的列的序号,多个使用逗号隔开

    android:stretchColumns

    setStretchAllColumns(boolean)

    设置允许被拉伸的列的序号,多个使用逗号隔开

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical"
        tools:context="com.example.tablelayout.MainActivity" >
    
       
        <!-- 第一个TableLayout,指定二列允许收缩,三列允许拉伸 -->
        <TableLayout 
            android:id="@+id/tableLayout_one"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:shrinkColumns="1"
            android:stretchColumns="3">
            
            <Button 
                android:id="@+id/ok1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="独自一行的按钮"/>
            <TableRow>
                <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,指定二列允隐藏-->
        <TableLayout 
            android:id="@+id/tableLayout_two"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:collapseColumns="2">
            
            <Button 
                android:id="@+id/ok5"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="独自一行的按钮"/>
            <TableRow>
                <Button 
                    android:id="@+id/ok6"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="普通按钮"/>
                <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="隐藏按钮"/>
           </TableRow>  
        </TableLayout>
        
        <!-- 第三个TableLayout,指定二列允许拉伸,三列允许拉伸 -->
        <TableLayout 
            android:id="@+id/tableLayout_three"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:shrinkColumns="1,2">
            
            <Button 
                android:id="@+id/ok9"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="独自一行的按钮"/>
            <TableRow>
                <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>
        </TableLayout>
    </LinearLayout>

  • 相关阅读:
    分分钟提升命令行模式下密码输入逼格
    MySQL server has gone away 的两个最常见的可能性
    第一次遇到刷新缓冲区延时
    Mac上安装mysqlclient的报错
    python3 --- locale命名空间让程序更加安全了
    doctest --- 一个改善python代码质量的工具
    MySQL优化器 --- index_merge
    机智的MySQL优化器 --- is null
    Centos-7.x 下子网掩码的配置
    JS组件系列——BootstrapTable+KnockoutJS实现增删改查解决方案(三):两个Viewmodel搞定增删改查
  • 原文地址:https://www.cnblogs.com/qadada/p/4468091.html
Copyright © 2011-2022 走看看