Android中文API(119)——TableRow

 

前言

  本章内容是android.widget.TableRow,版本为Android 3.0 r1,翻译来自"Snail",欢迎访问它的博客:"http://blog.csdn.net/zuolongsnail",再次感谢"Snail" !期待你一起参与Android API的翻译,联系我over140@gmail.com。

 

声明

  欢迎转载,但请保留文章原始出处:)

    博客园:http://www.cnblogs.com/

    Android中文翻译组:http://goo.gl/6vJQl


 

TableRow

译者署名:Snail

译者链接:http://blog.csdn.net/zuolongsnail

版本:Android 3.0 r1

 

类结构

public class TableRow extends LinerLayout

 

java.lang.Object

android.view.View

      android.view.ViewGroup

             android.widget.LinearLayout

                    android.widget.TableRow

 

类概述

按照水平方向来组织子视图的布局。TableRow应该总是作为TableLayout的子视图。如果TableRow的父视图不是TableLayout,那么TableRow将相当于一个水平方向布局的LinearLayout

XML配置文件中TableRow的子视图不需要详细指定其layout_widthlayout_height属性值。TableRow总是强制将这两个属性分别赋值为MATCH_PARENTWRAP_CONTENT

可参考android.widget.TableRow.LayoutParams的布局属性。

 

内部类

class        TableRow.LayoutParams

适用于TableRow的子视图的属性设置

 

构造函数

public TableRow (Context context)

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

参数

context  应用程序环境

 

public TableRow (Context context, AttributeSet attrs)

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

参数

context  应用程序环境

attrs 属性集合

 

公共方法

public TableRow.LayoutParams generateLayoutParams (AttributeSet attrs)

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

参数

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

返回值

                       ViewGroup.LayoutParams或其子类的实例

 

public View getVirtualChildAt (int i)

返回指定索引的视图。这个方法被重载时应当考虑到其虚拟子视图。参见TableLayoutTableRow的示例代码。

参数

子视图的索引

返回值

                       指定索引的子视图

 

public int getVirtualChildCount ()

返回虚拟子视图的个数。如果这个布局支持子视图,此数量可能与实际子视图数量不同。     参见TableLayoutTableRow的示例代码。

返回值

                       虚拟子视图的数量

 

public void setOnHierarchyChangeListener (ViewGroup.OnHierarchyChangeListener listener)

注册一个回调函数,当从视图中添加或移除子视图时被调用。

参数

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

 

受保护方法

protected boolean checkLayoutParams (ViewGroup.LayoutParams p)

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

 

protected LinearLayout.LayoutParams generateDefaultLayoutParams ()

返回宽度为MATCH_PARENT,高度为WRAP_CONTENT且没有跨度的布局参数集合

返回值

                       默认布局参数集合或空

 

protected LinearLayout.LayoutParams generateLayoutParams (ViewGroup.LayoutParams p)

返回一组合法的受支持的布局参数集合。当一个ViewGroup传递一个布局参数没有通过checkLayoutParams(android.view.ViewGroup.LayoutParams)检测的视图时,此方法将被调用。此方法会返回一组新的适合当前ViewGroup的布局参数,可能从指定的一组布局参数集合中复制适当的属性。

参数

被转换成一组适合当前ViewGroup的布局参数

返回值

                       一个ViewGroup.LayoutParams的实例或者其中的一个子节点

 

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

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

参数

changed 这是当前视图的一个新大小或位置

相对于父节点的左边位置

相对于父节点的顶点位置

相对于父节点的右边位置

相对于父节点的底部位置

 

protected void onMeasure (int widthMeasureSpec, int heightMeasureSpec)

测量视图及其内容,以确定其宽度和高度。此方法由measure(int, int)调用。需要被子类重写以提供准确、高效的测量其内容的方法。

约定:当重写此方法时,必须调用setMeasuredDimension(int, int)来保存当前视图的宽度和高度。如果调用不成功将会导致一个IllegalStateException异常,由measure(int, int)抛出。要有效的调用父类的onMeasure(int, int)方法。

基类的实现是以背景大小为默认大小,除非MeasureSpec(测量细则)允许更大的背景。子类应重写onMeasure(int, int)以对其内容提供更合适的大小。

如果此方法被重写,那么子类要确保其测量高度和测量宽度要大于视图的最小宽度和最小高度(getSuggestedMinimumHeight()getSuggestedMinimumWidth())。

参数

widthMeasureSpec 父视图要求的横向空间大小。该要求由View.MeasureSpec进行编码

heightMeasureSpec 父视图要求的纵向空间大小。该要求由View.MeasureSpec进行编码

 

补充

推荐教程:

Android Doc官方教程-TableLayout中使用TableRow

TableLayout中使用TableRow对象来定义多行

 

 

TableRow.LayoutParams

译者署名:madgoat

译者链接:http://madgoat.cn

版本:Android 3.0 r1

 

类结构

public class TableRow extends LinerLayout

 

java.lang.Object

android.view.ViewGroup.LayoutParams

      android.view.ViewGroup.MarginLayoutParams

             android.widget.LinearLayout.LayoutParams

                    android.widget.TableRow.LayoutParams

 

类概述

         设置在表格行中使用的布局参数

         参见

                   TableLayout.LayoutParams

 

XML属性

属性名称

描述

android:layout_column

该子元素所在的列的索引值。必须是一个整数值,例如“100”。

android:layout_span

定义此子元素跨越多少列。必须>=1。必须是一个整数值,例如“100”。

 

字段

         public int column

         单元格cellwidget上代表的列索引。

 

         public int span

    widget跨越的列数

 

构造函数

         public TableRow.LayoutParams (Context c, AttributeSet attrs)

        

         public TableRow.LayoutParams (int w, int h)

         设置子元素的宽度和高度

                   参数

                            w     期望高度

                            h      期望宽度

 

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

 

                   参数

                            w     期望高度

                            h      期望宽度

initWeight       期望权重(weight)

 

         public TableRow.LayoutParams ()

         设置子元素的宽度为ViewGroup.LayoutParams,高度参数为WRAP_CONTENT

 

         public TableRow.LayoutParams (int column)

         设置指定列上的视图的宽度参数为MATCH_PARENT,高度参数为WRAP_CONTENT

                   参数

                            column    视图中列的索引

 

         public TableRow.LayoutParams (ViewGroup.LayoutParams p)

 

         public TableRow.LayoutParams (ViewGroup.MarginLayoutParams source)

 

公共方法

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

         从提供的参数中提取出布局参数

        参数

                            a      从布局参数中提取的样式属性

widthAttr        宽度属性的标识符

heightAttr       高度属性的标识符

 

posted @ 2011-04-21 09:03  农民伯伯  阅读(20148)  评论(1编辑  收藏  举报