|
Build 1.0_r1(from source) | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectandroid.view.View
android.view.ViewGroup
android.widget.LinearLayout
android.widget.TableLayout
public class TableLayout
A layout that arranges its children into rows and columns.
A TableLayout consists of a number of TableRow objects,
each defining a row (actually, you can have other children, which will be
explained below). TableLayout containers do not display border lines for
their rows, columns, or cells. Each row has zero or more cells; each cell can
hold one View object. The table has as many columns
as the row with the most cells. A table can leave cells empty. Cells can span
columns, as they can in HTML.
The width of a column is defined by the row with the widest cell in that
column. However, a TableLayout can specify certain columns as shrinkable or
stretchable by calling
setColumnShrinkable()
or setColumnStretchable(). If
marked as shrinkable, the column width can be shrunk to fit the table into
its parent object. If marked as stretchable, it can expand in width to fit
any extra space. The total width of the table is defined by its parent
container. It is important to remember that a column can be both shrinkable
and stretchable. In such a situation, the column will change its size to
always use up the available space, but never more. Finally, you can hide a
column by calling
setColumnCollapsed().
The children of a TableLayout cannot specify the layout_width
attribute. Width is always FILL_PARENT. However, the
layout_height attribute can be defined by a child; default value
is ViewGroup.LayoutParams.WRAP_CONTENT. If the child
is a TableRow, then the height is always
ViewGroup.LayoutParams.WRAP_CONTENT.
Cells must be added to a row in increasing column order, both in code and XML. Column numbers are zero-based. If you don't specify a column number for a child cell, it will autoincrement to the next available column. If you skip a column number, it will be considered an empty cell in that row. See the TableLayout examples in ApiDemos for examples of creating tables in XML.
Although the typical child of a TableLayout is a TableRow, you can actually use any View subclass as a direct child of TableLayout. The View will be displayed as a single row that spans all the table columns.
| Nested Class Summary | |
|---|---|
static class |
TableLayout.LayoutParams
This set of layout parameters enforces the width of each child to be ViewGroup.LayoutParams.FILL_PARENT and the height of each child to be
ViewGroup.LayoutParams.WRAP_CONTENT, but only if the height is not specified. |
| Nested classes/interfaces inherited from class android.view.ViewGroup |
|---|
ViewGroup.MarginLayoutParams, ViewGroup.OnHierarchyChangeListener |
| Nested classes/interfaces inherited from class android.view.View |
|---|
View.BaseSavedState, View.MeasureSpec, View.OnClickListener, View.OnCreateContextMenuListener, View.OnFocusChangeListener, View.OnKeyListener, View.OnLongClickListener, View.OnTouchListener |
| Field Summary |
|---|
| Fields inherited from class android.widget.LinearLayout |
|---|
HORIZONTAL, VERTICAL |
| Constructor Summary | |
|---|---|
TableLayout(Context context)
Creates a new TableLayout for the given context. |
|
TableLayout(Context context,
AttributeSet attrs)
Creates a new TableLayout for the given context and with the specified set attributes. |
|
| Method Summary | |
|---|---|
void |
addView(View child)
Adds a child view. |
void |
addView(View child,
int index)
Adds a child view. |
void |
addView(View child,
int index,
ViewGroup.LayoutParams params)
Adds a child view with the specified layout parameters. |
void |
addView(View child,
ViewGroup.LayoutParams params)
Adds a child view with the specified layout parameters. |
protected boolean |
checkLayoutParams(ViewGroup.LayoutParams p)
|
protected LinearLayout.LayoutParams |
generateDefaultLayoutParams()
Returns a set of layout parameters with a width of ViewGroup.LayoutParams.FILL_PARENT,
and a height of ViewGroup.LayoutParams.WRAP_CONTENT. |
TableLayout.LayoutParams |
generateLayoutParams(AttributeSet attrs)
Returns a new set of layout parameters based on the supplied attributes set. |
protected LinearLayout.LayoutParams |
generateLayoutParams(ViewGroup.LayoutParams p)
Returns a safe set of layout parameters based on the supplied layout params. |
boolean |
isColumnCollapsed(int columnIndex)
Returns the collapsed state of the specified column. |
boolean |
isColumnShrinkable(int columnIndex)
Returns whether the specified column is shrinkable or not. |
boolean |
isColumnStretchable(int columnIndex)
Returns whether the specified column is stretchable or not. |
boolean |
isShrinkAllColumns()
Indicates whether all columns are shrinkable or not. |
boolean |
isStretchAllColumns()
Indicates whether all columns are stretchable or not. |
(package private) void |
measureChildBeforeLayout(View child,
int childIndex,
int widthMeasureSpec,
int totalWidth,
int heightMeasureSpec,
int totalHeight)
Measure the child according to the parent's measure specs. |
(package private) void |
measureVertical(int widthMeasureSpec,
int heightMeasureSpec)
Measures the children when the orientation of this LinearLayout is set to LinearLayout.VERTICAL. |
protected void |
onLayout(boolean changed,
int l,
int t,
int r,
int b)
Called from layout when this view should assign a size and position to each of its children. |
protected void |
onMeasure(int widthMeasureSpec,
int heightMeasureSpec)
Measure the view and its content to determine the measured width and the measured height. |
void |
requestLayout()
Call this when something has changed which has invalidated the layout of this view. |
void |
setColumnCollapsed(int columnIndex,
boolean isCollapsed)
Collapses or restores a given column. |
void |
setColumnShrinkable(int columnIndex,
boolean isShrinkable)
Makes the given column shrinkable or not. |
void |
setColumnStretchable(int columnIndex,
boolean isStretchable)
Makes the given column stretchable or not. |
void |
setOnHierarchyChangeListener(ViewGroup.OnHierarchyChangeListener listener)
Register a callback to be invoked when a child is added to or removed from this view. |
void |
setShrinkAllColumns(boolean shrinkAllColumns)
Convenience method to mark all columns as shrinkable. |
void |
setStretchAllColumns(boolean stretchAllColumns)
Convenience method to mark all columns as stretchable. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface android.view.ViewParent |
|---|
createContextMenu, getParent, isLayoutRequested |
| Constructor Detail |
|---|
public TableLayout(Context context)
Creates a new TableLayout for the given context.
context - the application environment
public TableLayout(Context context,
AttributeSet attrs)
Creates a new TableLayout for the given context and with the specified set attributes.
context - the application environmentattrs - a collection of attributes| Method Detail |
|---|
public void setOnHierarchyChangeListener(ViewGroup.OnHierarchyChangeListener listener)
setOnHierarchyChangeListener in class ViewGrouplistener - the callback to invoke on hierarchy changepublic void requestLayout()
requestLayout in interface ViewParentrequestLayout in class Viewpublic boolean isShrinkAllColumns()
Indicates whether all columns are shrinkable or not.
public void setShrinkAllColumns(boolean shrinkAllColumns)
Convenience method to mark all columns as shrinkable.
shrinkAllColumns - true to mark all columns shrinkablepublic boolean isStretchAllColumns()
Indicates whether all columns are stretchable or not.
public void setStretchAllColumns(boolean stretchAllColumns)
Convenience method to mark all columns as stretchable.
stretchAllColumns - true to mark all columns stretchable
public void setColumnCollapsed(int columnIndex,
boolean isCollapsed)
Collapses or restores a given column. When collapsed, a column
does not appear on screen and the extra space is reclaimed by the
other columns. A column is collapsed/restored only when it belongs to
a TableRow.
Calling this method requests a layout operation.
columnIndex - the index of the columnisCollapsed - true if the column must be collapsed, false otherwisepublic boolean isColumnCollapsed(int columnIndex)
Returns the collapsed state of the specified column.
columnIndex - the index of the column
public void setColumnStretchable(int columnIndex,
boolean isStretchable)
Makes the given column stretchable or not. When stretchable, a column takes up as much as available space as possible in its row.
Calling this method requests a layout operation.
columnIndex - the index of the columnisStretchable - true if the column must be stretchable,
false otherwise. Default is false.public boolean isColumnStretchable(int columnIndex)
Returns whether the specified column is stretchable or not.
columnIndex - the index of the column
public void setColumnShrinkable(int columnIndex,
boolean isShrinkable)
Makes the given column shrinkable or not. When a row is too wide, the table can reclaim extra space from shrinkable columns.
Calling this method requests a layout operation.
columnIndex - the index of the columnisShrinkable - true if the column must be shrinkable,
false otherwise. Default is false.public boolean isColumnShrinkable(int columnIndex)
Returns whether the specified column is shrinkable or not.
columnIndex - the index of the column
public void addView(View child)
addView in class ViewGroupchild - the child view to addViewGroup.generateDefaultLayoutParams()
public void addView(View child,
int index)
addView in class ViewGroupchild - the child view to addindex - the position at which to add the childViewGroup.generateDefaultLayoutParams()
public void addView(View child,
ViewGroup.LayoutParams params)
addView in interface ViewManageraddView in class ViewGroupchild - the child view to addparams - the layout parameters to set on the child
public void addView(View child,
int index,
ViewGroup.LayoutParams params)
addView in class ViewGroupchild - the child view to addindex - the position at which to add the childparams - the layout parameters to set on the child
protected void onMeasure(int widthMeasureSpec,
int heightMeasureSpec)
Measure the view and its content to determine the measured width and the
measured height. This method is invoked by View.measure(int, int) and
should be overriden by subclasses to provide accurate and efficient
measurement of their contents.
CONTRACT: When overriding this method, you
must call View.setMeasuredDimension(int, int) to store the
measured width and height of this view. Failure to do so will trigger an
IllegalStateException, thrown by
View.measure(int, int). Calling the superclass'
View.onMeasure(int, int) is a valid use.
The base class implementation of measure defaults to the background size,
unless a larger size is allowed by the MeasureSpec. Subclasses should
override View.onMeasure(int, int) to provide better measurements of
their content.
If this method is overridden, it is the subclass's responsibility to make
sure the measured height and width are at least the view's minimum height
and width (View.getSuggestedMinimumHeight() and
View.getSuggestedMinimumWidth()).
onMeasure in class LinearLayoutwidthMeasureSpec - horizontal space requirements as imposed by the parent.
The requirements are encoded with
View.MeasureSpec.heightMeasureSpec - vertical space requirements as imposed by the parent.
The requirements are encoded with
View.MeasureSpec.View.getMeasuredWidth(),
View.getMeasuredHeight(),
View.setMeasuredDimension(int, int),
View.getSuggestedMinimumHeight(),
View.getSuggestedMinimumWidth(),
View.MeasureSpec.getMode(int),
View.MeasureSpec.getSize(int)
protected void onLayout(boolean changed,
int l,
int t,
int r,
int b)
onLayout in class LinearLayoutchanged - This is a new size or position for this viewl - Left position, relative to parentt - Top position, relative to parentr - Right position, relative to parentb - Bottom position, relative to parent
void measureChildBeforeLayout(View child,
int childIndex,
int widthMeasureSpec,
int totalWidth,
int heightMeasureSpec,
int totalHeight)
Measure the child according to the parent's measure specs. This
method should be overriden by subclasses to force the sizing of
children. This method is called by LinearLayout.measureVertical(int, int) and
LinearLayout.measureHorizontal(int, int).
measureChildBeforeLayout in class LinearLayoutchild - the child to measurechildIndex - the index of the child in this viewwidthMeasureSpec - horizontal space requirements as imposed by the parenttotalWidth - extra space that has been used up by the parent horizontallyheightMeasureSpec - vertical space requirements as imposed by the parenttotalHeight - extra space that has been used up by the parent vertically
void measureVertical(int widthMeasureSpec,
int heightMeasureSpec)
LinearLayout.VERTICAL.
measureVertical in class LinearLayoutwidthMeasureSpec - Horizontal space requirements as imposed by the parent.heightMeasureSpec - Vertical space requirements as imposed by the parent.LinearLayout.getOrientation(),
LinearLayout.setOrientation(int),
LinearLayout.onMeasure(int, int)public TableLayout.LayoutParams generateLayoutParams(AttributeSet attrs)
generateLayoutParams in class LinearLayoutattrs - the attributes to build the layout parameters from
ViewGroup.LayoutParams or one
of its descendantsprotected LinearLayout.LayoutParams generateDefaultLayoutParams()
ViewGroup.LayoutParams.FILL_PARENT,
and a height of ViewGroup.LayoutParams.WRAP_CONTENT.
generateDefaultLayoutParams in class LinearLayoutprotected boolean checkLayoutParams(ViewGroup.LayoutParams p)
checkLayoutParams in class LinearLayoutprotected LinearLayout.LayoutParams generateLayoutParams(ViewGroup.LayoutParams p)
ViewGroup.checkLayoutParams(android.view.ViewGroup.LayoutParams), this method
is invoked. This method should return a new set of layout params suitable for
this ViewGroup, possibly by copying the appropriate attributes from the
specified set of layout params.
generateLayoutParams in class LinearLayoutp - The layout parameters to convert into a suitable set of layout parameters
for this ViewGroup.
ViewGroup.LayoutParams or one
of its descendants
|
Build 1.0_r1(from source) | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||