ディレクトリ 検索
android Manifest Manifest.permission Manifest.permission_group android.accessibilityservice AccessibilityService android.accounts Account android.app NotificationManager android.bluetooth BluetoothAdapter BluetoothClass BluetoothClass.Device BluetoothClass.Device.Major BluetoothClass.Service BluetoothDevice BluetoothServerSocket BluetoothSocket android.content SharedPreferences android.database.sqlite SQLiteCursorDriver SQLiteOpenHelper android.graphics Bitmap android.location LocationListener Geocoder GpsStatus GpsStatus.Listener GpsStatus.NmeaListener GpsSatellite android.media AudioFormat AsyncPlayer AudioRecord AudioRecord.OnRecordPositionUpdateListener ThumbnailUtils AudioManager android.net TrafficStats MailTo LocalSocket android.os AsyncTask AsyncTask.Status CountDownTimer Message MessageQueue HandlerThread android.text Html android.util JsonWriter android.view ContextMenu ContextMenu.ContextMenuInfo Display ViewManager View ViewStub ViewTreeObserver ViewParent WindowManager GestureDetector Gravity MenuInflater ScaleGestureDetector SoundEffectConstants android.view.inputmethod InputConnection InputMethod InputMethodSession BaseInputConnection InputMethodManager android.widget AbsListView AbsListView.LayoutParams AbsListView.OnScrollListener AbsListView.RecyclerListener AbsoluteLayout AbsoluteLayout.LayoutParams AbsSeekBar AbsSpinner AdapterView AdapterView.AdapterContextMenuInfo AdapterView.OnItemLongClickListener AdapterView.OnItemSelectedListener AdapterView.OnItemClickListener AnalogClock BaseAdapter BaseExpandableListAdapter Button CheckBox CheckedTextView Checkable Chronometer Chronometer.OnChronometerTickListener CompoundButton CompoundButton.OnCheckedChangeListener CursorAdapter CursorTreeAdapter DatePicker DatePicker.OnDateChangedListener DialerFilter DigitalClock EditText Filter Filter.FilterListener Filter.FilterResults ExpandableListAdapter ExpandableListView.OnChildClickListener ExpandableListView.OnGroupClickListener ExpandableListView.OnGroupCollapseListener ExpandableListView.OnGroupExpandListener Filterable Gallery Gallery.LayoutParams GridView GridLayout GridLayout.Alignment RadioGroup ImageView ImageView.ScaleType HorizontalScrollView ImageButton ImageSwitcher FilterQueryProvider ListAdapter ListView MediaController MultiAutoCompleteTextView MultiAutoCompleteTextView.CommaTokenizer MultiAutoCompleteTextView.Tokenizer QuickContactBadge RadioButton RatingBar RatingBar.OnRatingBarChangeListener RelativeLayout RemoteViews ResourceCursorAdapter ResourceCursorTreeAdapter Scroller ScrollView SearchView SearchView.OnCloseListener SearchView.OnQueryTextListener SearchView.OnSuggestionListener SeekBar SeekBar.OnSeekBarChangeListener SimpleAdapter SimpleAdapter.ViewBinder SimpleCursorAdapter SimpleCursorAdapter.CursorToStringConverter SimpleCursorAdapter.ViewBinder SimpleCursorTreeAdapter SimpleCursorTreeAdapter.ViewBinder SimpleExpandableListAdapter SlidingDrawer SlidingDrawer.OnDrawerCloseListener SlidingDrawer.OnDrawerOpenListener SlidingDrawer.OnDrawerScrollListener Spinner SpinnerAdapter WrapperListAdapter TabHost TabHost.TabSpec TextView TimePicker TimePicker.OnTimeChangedListener Toast TableLayout TableLayout.LayoutParams TableRow TableRow.LayoutParams TabWidget TextSwitcher ToggleButton TwoLineListItem VideoView ViewAnimator ViewFlipper ViewSwitcher ViewSwitcher.ViewFactory ZoomButtonsController ZoomButtonsController.OnZoomListener ZoomButton ZoomControls dalvik.system DexFile
テキスト


TableLayout

版本:Android 3.0 r1

结构

继承关系

public classTableLayoutextendsLinerLayout

java.lang.Object

android.view.View

android.view.ViewGroup

android.widget.LinearLayout

android.widget.TableLayout

类概述

按照行列来组织子视图的布局。表格布局包含一系列的TableRow对象,用于定义行(实际上你也可以使用其它子对象,将在后面进行解释)。表格布局不为它的行、列和单元格显示表格线。每个行可以包含0个以上(包括0)的单元格;每个单元格可以设置一个View对象.与行包含很多单元格一样,表格包含很多列。表格的单元格可以为空.单元格可以象HTML那样跨列。

列的宽度由该列所有行中最宽的一个单元格决定.不过表格布局可以通过setColumnShrinkable()方法或者setColumnStretchable()方法来标记某些列可以收缩或可以拉伸.如果标记为可以收缩,列宽可以收缩以使表格适合容器的大小。如果标记为可以拉伸,列宽可以拉伸以占用多余的空间。表格的总宽度由其父容器决定.记住列可以同时具有可拉伸和可收缩标记是很重要的。在列可以调整其宽度以占用可用空间,但不能超过限度时是很有用的.最后,你可以通过调用setColumnCollapsed()方法来隐藏列。

表格布局的子对象不能指定layout_width属性.宽度永远是MATCH_PARENT。不过子对象可以定义layout_height属性;其默认值是WRAP_CONTENT.如果子对象是TableRow,其高度永远是WRAP_CONTENT

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

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

参见

Table Layout tutorial

内部类

class TableLayout.LayoutParams

该类强制将子视图的宽度设为MATCH_PARENT将没有设置高度的子视图的高度设为WRAP_CONTENT

XML属性

属性名称

描述

android:collapseColumns

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

相关方法

setColumnCollapsed(int,boolean)

android:shrinkColumns

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

相关方法

setColumnCollapsed(int,boolean)

android:stretchColumns

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

相关方法

setColumnCollapsed(int,boolean)

构造函数

public TableLayout (Context context)

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

参数

context应用程序上下文

public TableLayout (Context context, AttributeSet attrs)

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

参数

context应用程序上下文

attrs属性集合

公共方法

public voidaddView(View child)

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

参数

child添加的子视图

public voidaddView(View child, int index)

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

参数

child添加的子视图

index子视图加入的位置索引

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

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

参数

child添加的子视图

index子视图加入的位置索引

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

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

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

参数

child添加的子视图

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

public TableLayout.LayoutParamsgenerateLayoutParams(AttributeSet attrs)

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

参数

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

返回值

ViewGroup.LayoutParams或其子类的实例

public booleanisColumnCollapsed(int columnIndex)

返回指定列的折叠状态。

参数

columnIndex列索引

返回值

折叠时为true;否则为false

public booleanisColumnShrinkable(int columnIndex)

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

参数

columnIndex列索引

返回值

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

public booleanisColumnStretchable(int columnIndex)

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

参数

columnIndex列索引

返回值

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

public booleanisShrinkAllColumns()

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

返回值

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

public booleanisStretchAllColumns()

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

返回值

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

public voidrequestLayout()

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

public voidsetColumnCollapsed(int columnIndex, boolean isCollapsed)

折叠或恢复给定列。折叠时,列从屏幕上消失,其空间由其它列占用。 当列属于TableRow时才可以进行折叠/恢复操作。

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

相关XML属性

android:collapseColumns

参数

columnIndex列索引

isCollapsed折叠时为true;否则为false

public voidsetColumnShrinkable(int columnIndex, boolean isShrinkable)

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

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

相关XML属性

android:shrinkColumns

参数

columnIndex列索引

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

public voidsetColumnStretchable(int columnIndex, boolean isStretchable)

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

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

相关XML属性

android:stretchColumns

参数

columnIndex列索引

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

public voidsetOnHierarchyChangeListener(ViewGroup.OnHierarchyChangeListener listener)

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

参数

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

public voidsetShrinkAllColumns(boolean shrinkAllColumns)

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

相关XML属性

android:shrinkColumns

参数

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

public voidsetStretchAllColumns(boolean stretchAllColumns)

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

相关XML属性

android:stretchColumns

参数

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

受保护方法

protected booleancheckLayoutParams(ViewGroup.LayoutParams p)

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

protected LinearLayout.LayoutParamsgenerateDefaultLayoutParams()

返回宽度为MATCH_PARENT高度为WRAP_CONTENT的布局参数集合。

返回值

默认布局参数集合或空

protected LinearLayout.LayoutParamsgenerateLayoutParams(ViewGroup.LayoutParams p)

基于提供的布局参数返回一组安全的布局参数集合.当传入ViewGroup的视图的参数没有通过checkLayoutParams(android.view.ViewGroup.LayoutParams)的检测时,调用该方法.该方法会返回适合ViewGroup的新的布局参数,可能从指定的布局参数中复制适当的属性。

参数

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

返回值

ViewGroup.LayoutParams或其子类的实例

protected voidonLayout(boolean changed, int l, int t, int r, int b)

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

参数

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

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

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

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

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

protected voidonMeasure(int widthMeasureSpec, int heightMeasureSpec)

评估视图及其内容,以决定其宽度和高度.此方法由measure(int, int)调用,子类可以重载以提供更精确、更有效率的衡量其内容尺寸的方法。

约定:覆盖该方法时,必须调用setMeasuredDimension(int, int)方法来保存评估结果的视图的宽度和高度.如果忘记将导致measure(int, int)方法抛出IllegalStateException异常.要有效的利用父类的onMeasure(int, int)方法。

基类测量的是背景的大小,除非MeasureSpec允许超过背景.子类应该重写onMeasure(int, int)方法,以为其内容提供更适合的大小。

如果重写了该方法,子类要确保其高度和宽度大于等于视图的最小高度和宽度.getSuggestedMinimumHeight()getSuggestedMinimumWidth()

参数

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

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

补充

文章精选

Android UI学习- TableLayout


前の記事: 次の記事: