zoukankan      html  css  js  c++  java
  • 【转载】TableLayout表格布局详解

    原文地址:http://www.cnblogs.com/manuosex/p/3584701.html

    一、Tablelayout简介

          Tablelayout类以行和列的形式对控件进行管理,每一行为一个TableRow对象,或一个View控件。当为TableRow对象时,可在TableRow下添加子控件,默认情况下,每个子控件占据一列。 当为View时,该View将独占一行。

    二、TableLayout行列数的确定(最大的原则)

         TableLayout的行数由开发人员直接指定,即有多少个TableRow对象(或View控件),就有多少行。TableLayout的列数等于含有最多子控件的TableRow的列数。如第一TableRow含2个子控件,第二个TableRow含3个,第三个TableRow含4个,那么该TableLayout的列数为4. 

    三、TableLayout可设置的属性详解

    总体了,这个TableLayout的属性和html中Table标签的属性差不多。他的各个属性如下:

    TableLayout可设置的属性包括全局属性及单元格属性。

    1、全局属性也即列属性,有以下3个参数:

    android:stretchColumns    设置可伸展的列。该列可以向行方向伸展,最多可占据一整行。

    android:shrinkColumns     设置可收缩的列。当该列子控件的内容太多,已经挤满所在行,那么该子控件的内容将往列方向显示。

    android:collapseColumns 设置要隐藏的列。

    示例:

    android:stretchColumns="0"           第0列可伸展

    android:shrinkColumns="1,2"         第1,2列皆可收缩

    android:collapseColumns="*"         隐藏所有行

    说明:列可以同时具备stretchColumns及shrinkColumns属性,若此,那么当该列的内容N多时,将“多行”显示其内容。(这里不是真正的多行,而是系统根据需要自动调节该行的layout_height)

    2、单元格属性,有以下2个参数:

    android:layout_column    指定该单元格在第几列显示

    android:layout_span        指定该单元格占据的列数(未指定时,为1)

    示例:

    android:layout_column="1"    该控件显示在第1列

    android:layout_span="2"        该控件占据2列

    说明:一个控件也可以同时具备这两个特性。

    <TableLayout
                        android:id="@+id/MorePageTableLayout_Favorite"
                        android:layout_width="fill_parent"
                        android:layout_height="wrap_content"
                        android:shrinkColumns="0"
                        android:stretchColumns="0" >
    
                        <TableRow
                            android:id="@+id/more_page_row0"
                            android:layout_width="fill_parent"
                            android:layout_marginLeft="2.0dip"
                            android:layout_marginRight="2.0dip"
                            android:background="@drawable/more_item_press"
                            android:paddingBottom="16.0dip"
                            android:paddingTop="8.0dip" >
    
                            <TextView
                                android:layout_width="wrap_content"
                                android:layout_height="fill_parent"
                                android:drawableLeft="@drawable/mylike"
                                android:drawablePadding="10.0dip"
                                android:gravity="center_vertical"
                                android:includeFontPadding="false"
                                android:paddingLeft="17.0dip"
                                android:text="我的京东"
                                android:textColor="#ff333333"
                                android:textSize="16.0sp" />
    
                            <ImageView
                                android:layout_width="wrap_content"
                                android:layout_height="fill_parent"
                                android:layout_gravity="right"
                                android:gravity="center_vertical"
                                android:paddingRight="20.0dip"
                                android:src="@drawable/ic_arrow" />
                        </TableRow>
                    </TableLayout>

    其运行的相应效果图如下:

    总结,一般TableLayOut的布局方式是使用较少的,但是像上面设置界面,TableLayout布局非常有用的。

  • 相关阅读:
    LeetCode 40. 组合总和 II(Combination Sum II)
    LeetCode 129. 求根到叶子节点数字之和(Sum Root to Leaf Numbers)
    LeetCode 60. 第k个排列(Permutation Sequence)
    LeetCode 47. 全排列 II(Permutations II)
    LeetCode 46. 全排列(Permutations)
    LeetCode 93. 复原IP地址(Restore IP Addresses)
    LeetCode 98. 验证二叉搜索树(Validate Binary Search Tree)
    LeetCode 59. 螺旋矩阵 II(Spiral Matrix II)
    一重指针和二重指针
    指针的意义
  • 原文地址:https://www.cnblogs.com/ivan-xu/p/4549491.html
Copyright © 2011-2022 走看看