Android中文API(119)——TableRow

简介:

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       高度属性的标识符

本文转自博客园农民伯伯的博客,原文链接:Android中文API(119)——TableRow,如需转载请自行联系原博主。

目录
相关文章
|
8月前
|
定位技术 API 开发工具
Android 按照步骤接入百度地图API,定位显示不了解决办法
Android 按照步骤接入百度地图API,定位显示不了解决办法
225 0
|
7月前
|
API Android开发
mPaaS(移动跨平台框架)目前已经支持了Android API级别21
mPaaS(移动跨平台框架)目前已经支持了Android API级别21
106 2
|
8月前
|
API 数据库 Android开发
Android SQLite数据库中基础的增删改查操作以及API的详解
Android SQLite数据库中基础的增删改查操作以及API的详解
65 0
|
10月前
|
API Android开发
Android Activity Result API
Android Activity Result API
98 0
|
11月前
|
Java API Android开发
Sui为根应用提供Java APIs,滴API。主要提供直接使用Android APIs的能力(几乎以Java作为root的身份
Sui为根应用提供Java APIs,滴API。主要提供直接使用Android APIs的能力(几乎以Java作为root的身份,在root下启动app自己的AIDL风格的Java服务。这将使root应用程序开发变得更加容易。
142 0
|
12月前
|
缓存 Java API
Android音频API
MediaRecorder与MediaPlayer并不能算完整意义的音频API,它们只是系统音频API的封装,除了采集/播放,他们集成了编码/解码、复用/解复用等能力。它们在最底层还是调用了AudioRecorder、AudioTrack。下面主要介绍它们的几个主要的配置项。
357 0
|
Ubuntu Java Shell
Android使用FFmpeg的API库
Android使用FFmpeg的API库
293 1
|
定位技术 API Android开发
Android Studio进行APP设计调用百度地图API接口隐藏百度地图的logo方法
Android Studio进行APP设计调用百度地图API接口隐藏百度地图的logo方法
315 0
Android Studio进行APP设计调用百度地图API接口隐藏百度地图的logo方法
|
存储 缓存 Java
Android 百度语音合成 (含离线、在线、API合成方式,详细步骤+源码)
Android 百度语音合成 (含离线、在线、API合成方式,详细步骤+源码)
499 0
Android 百度语音合成 (含离线、在线、API合成方式,详细步骤+源码)
|
XML API Android开发
Android 垃圾分类APP(一)申请API、搭建项目、访问接口获取数据
Android 垃圾分类APP(一)申请API、搭建项目、访问接口获取数据
372 0
Android 垃圾分类APP(一)申请API、搭建项目、访问接口获取数据