天天看点

Android中文API(116)——TableLayout

正文

  一、结构

public class TableLayout extends LinerLayout

java.lang.Object

         android.view.View

               android.view.ViewGroup

                      android.widget.LinearLayout

                             android.widget.TableLayout

  二、概述

  无论是在代码还是在 XML 布局文件中,单元格必须安装索引顺序加入表格行. 列号是从 0 开始的.如果你不为子单元格指定列号,其将自动增值,使用下一个可用列号. 如果你跳过某个列号,他在表格行中作为空可以改对待。参见 ApiDemos 中通过 XML 创建表格的布局示例。

虽然表格布局典型的子对象是表格行,实际上你可以使用任何视图类的子类, 作为表格视图的直接子对象.视图会作为只有一行并结合了所有列的单元格显示。

  参见

  三、内部类

  class        TableLayout.LayoutParams

  四、XML属性

属性名称

描述

android:collapseColumns

隐藏从0开始的索引列。列直接必须用逗号隔开:1, 2, 5。非法或重复的设置将被忽略。

相关方法

<a href="http://developer.android.com/reference/android/widget/TableLayout.html#setColumnCollapsed%28int,%20boolean%29">setColumnCollapsed(int,boolean)</a>

android:shrinkColumns

收缩从0开始的索引列。列直接必须用逗号隔开:1, 2, 5。非法或重复的设置将被忽略。你可以通过"*"代替收缩所有列。注意一列能同时表示收缩和拉伸。

android:stretchColumns

拉伸从0开始的索引列。列直接必须用逗号隔开:1, 2, 5。非法或重复的设置将被忽略。你可以通过"*"代替收缩所有列。注意一列能同时表示收缩和拉伸。

  五、构造函数

  public TableLayout (Context context)

  为给定的上下文创建表格布局。

             参数

  context  应用程序上下文

  public TableLayout (Context context, AttributeSet attrs)

  使用指定的属性集合为给定的上下文创建表格布局。

  attrs        属性集合

  六、公共方法

  public void addView (View child)

  添加子视图。如果子视图没有设置布局参数,则使用视图组(ViewGroup)的布局参数为该视图布局。

  child         添加的子视图

  public void addView (View child, int index)

  index       子视图加入的位置索引

  public void addView (View child, int index, ViewGroup.LayoutParams params)

  用指定的布局参数添加一个子视图。

  params  为子视图指定得布局参数

  public void addView (View child, ViewGroup.LayoutParams params)

  使用指定的布局参数添加子视图。

  params  设置到子视图上的布局参数

  public TableLayout.LayoutParams generateLayoutParams (AttributeSet attrs)

  返回一组基于提供的属性集合的布局参数集合。

  attrs        用于生成布局参数的属性集

  返回值

  public boolean isColumnCollapsed (int columnIndex)

  返回指定列的折叠状态。

  columnIndex  列索引

  折叠时为true;否则为false

  public boolean isColumnShrinkable (int columnIndex)

  返回指定的列是否可收缩。

                       如果列可以收缩,返回true;否则返回false

  public boolean isColumnStretchable (int columnIndex)

  返回指定的列是否可拉伸。

  如果列可以拉伸,返回true;否则返回false

  public boolean isShrinkAllColumns ()

  指示是否所有的列都是可收缩的。

                       如果所有列都可收缩,返回true;否则返回false

  public boolean isStretchAllColumns ()

  指示是否所有的列都是可拉伸的。

                       如果所有列都可拉伸,返回true;否则返回false

  public void requestLayout ()

  当某些变更导致视图的布局失效时调用该方法。该方法按照视图树的顺序调用。

  public void setColumnCollapsed (int columnIndex, boolean isCollapsed)

  调用该方法会请求布局操作。

                 相关XML属性

              参数

  isCollapsed     折叠时为true;否则为false

  public void setColumnShrinkable (int columnIndex, boolean isShrinkable)

  设置指定列是否可收缩。当行太宽时,表格可以收缩该列以提供更多空间。

             相关XML属性

                 参数

  isShrinkable    如果列可以收缩,设为真;否则设为假。默认是假。

  public void setColumnStretchable (int columnIndex, boolean isStretchable)

  设置指定列是否可拉伸。可拉伸时,列会尽可能多的占用行中的可用空间。

  isStretchable 如果列可以拉伸,设为真;否则设为假.默认是假

  public void setOnHierarchyChangeListener (ViewGroup.OnHierarchyChangeListener listener)

  注册当从视图中添加或移除子视图时发生的回调函数。

  listener  层次结构变更时执行的回调函数

  public void setShrinkAllColumns (boolean shrinkAllColumns)

  标记所有列为可收缩的便利的方法。

  shrinkAllColumns    如果标记所有列为可收缩时为true

  public void setStretchAllColumns (boolean stretchAllColumns)

  标记所有列为可拉伸的便利的方法。

                   相关XML属性

                   参数

stretchAllColumns           如果标记所有列为可拉伸时为true

  七、受保护方法

  protected boolean checkLayoutParams (ViewGroup.LayoutParams p)

    (译者注:检测是不是AbsoluteLayout.LayoutParams的实例)

  protected LinearLayout.LayoutParams generateDefaultLayoutParams ()

             返回值

  默认布局参数集合或空

  protected LinearLayout.LayoutParams generateLayoutParams (ViewGroup.LayoutParams p)

  p      要转换为适合于 ViewGroup 的布局参数的集合

                返回值

  protected void onLayout (boolean changed, int l, int t, int r, int b)

  该视图设置其子视图的大小及位置时调用.派生类可以重写此方法,并为其子类布局。

  changed           是否为视图设置了新的大小和位置

  l       相对于父视图的左侧的位置

  t      相对于父视图的顶部的位置

  r      相对于父视图的右侧的位置

  b      相对于父视图的底部的位置

  protected void onMeasure (int widthMeasureSpec, int heightMeasureSpec)

  八、补充 

    文章精选

TableLayout.LayoutParams

译者署名: madgoat

版本:Android 3.0 r1

结构

继承关系

public static class TableLayout.LayoutParams extends LinerLayout.LayoutParams

         android.view.ViewGroup.LayoutParams

               android.view.ViewGroup.MarginLayoutParams

                      android.widget.LinearLayout.LayoutParams

                             android.widget.TableLayout.LayoutParams

概述

构造函数

  public TableLayout.LayoutParams (Context c, AttributeSet attrs)

public TableLayout.LayoutParams (int w, int h)

public TableLayout.LayoutParams (int w, int h, float initWeight)

public TableLayout.LayoutParams ()

public TableLayout.LayoutParams (ViewGroup.LayoutParams p)

public TableLayout.LayoutParams (ViewGroup.MarginLayoutParams source)

公共方法

protected void setBaseAttributes (TypedArray a, int widthAttr, int heightAttr)

参数

a      一组样式属性

widthAttr        获取的宽度属性

heightAttr       获取的高度属性

本文转自over140 51CTO博客,原文链接:http://blog.51cto.com/over140/582352,如需转载请自行联系原作者

继续阅读