android:shrinkColumns 和 android:stretchColumns 是如何工作的?
How do android:shrinkColumns and android:stretchColumns work?
我可以在 TableLayout
处设置 android:shrinkColumns
和 android:stretchColumns
。
例如:
<TableLayout
android:shrinkColumns="2,3"
android:stretchColumns="1,3"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
那么这个属性如何影响列?
TableLayout 可以通过调用 setColumnShrinkable()(xml:android:shrinkColumns) or setColumnStretchable()(xml:android:stretchColumns)
将某些列指定为 可收缩或可拉伸。
如果标记为 可收缩,则可以缩小列宽以适应 table 到其父对象。如果标记为可拉伸,它可以扩展宽度以适应任何额外的 space。
table 的总宽度由其父容器定义。重要的是要记住,列可以 可收缩和可拉伸 。
详细信息您可以访问
https://developer.android.com/reference/android/widget/TableLayout.html
android:stretchColumns
要拉伸的列的从零开始的索引。列索引必须用逗号分隔:1、2、5。非法和重复的索引将被忽略。您可以改为使用值“*”来拉伸所有列。请注意,一个列可以同时标记为可拉伸和可收缩。
android:shrinkColumns
要收缩的列的从零开始的索引。列索引必须用逗号分隔:1、2、5。非法和重复的索引将被忽略。您可以使用值“*”来缩小所有列。请注意,一个列可以同时标记为可拉伸和可收缩。
android:collapseColumns
要折叠的列的从零开始的索引。列索引必须用逗号分隔:1, 2, 5。非法和重复的索引将被忽略。
<TableLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:stretchColumns="*"
android:background="@color/grey">
<TableRow>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="0"
android:background="@color/red"
android:textColor="@android:color/white"
android:textSize="30dp"
android:text="1" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="1"
android:textColor="@android:color/white"
android:textSize="30dp"
android:background="@color/green"
android:text="2" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="2"
android:textColor="@android:color/white"
android:textSize="30dp"
android:background="@color/blue"
android:text="3" />
</TableRow>
<TableRow>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="0"
android:background="@color/red"
android:textColor="@android:color/white"
android:textSize="30dp"
android:text="1" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="1"
android:textColor="@android:color/white"
android:textSize="30dp"
android:background="@color/green"
android:text="2" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="2"
android:textColor="@android:color/white"
android:textSize="30dp"
android:background="@color/blue"
android:text="3" />
</TableRow>
</TableLayout>
解释:
android:stretchColumns="*"
表示它根据table布局宽度
平均拉伸所有列
android:shrinkColumns="*"
意味着它缩小所有列
android:shrinkColumns="0,2"
android:stretchColumns="1"
表示第 0 列和第 2 列是换行包含,第 1 列拉伸到可用宽度
android:stretchColumns="0,1,2"
android:shrinkColumns="1"
意味着如果列已经伸展然后收缩不适用
android:shrinkColumns="*"
android:collapseColumns="1"
android:collapseColumns 表示它隐藏给定的列
android:stretchColumns="*"
TextView :- android:layout_column="2"
意思是如果 table 行第一列布局参数不以 0 开头然后空视图添加到行
android:stretchColumns="*"
android:collapseColumns="1"
TextView :- android:layout_column="2"
表示如果table-行第一列布局参数不以0开头,则将空视图添加到行中,但如果折叠列然后添加空视图,则不隐藏该列索引仅隐藏通过显式添加的视图查看
希望对您有所帮助。
我可以在 TableLayout
处设置 android:shrinkColumns
和 android:stretchColumns
。
例如:
<TableLayout
android:shrinkColumns="2,3"
android:stretchColumns="1,3"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
那么这个属性如何影响列?
TableLayout 可以通过调用 setColumnShrinkable()(xml:android:shrinkColumns) or setColumnStretchable()(xml:android:stretchColumns)
将某些列指定为 可收缩或可拉伸。
如果标记为 可收缩,则可以缩小列宽以适应 table 到其父对象。如果标记为可拉伸,它可以扩展宽度以适应任何额外的 space。
table 的总宽度由其父容器定义。重要的是要记住,列可以 可收缩和可拉伸 。
详细信息您可以访问
https://developer.android.com/reference/android/widget/TableLayout.html
android:stretchColumns
要拉伸的列的从零开始的索引。列索引必须用逗号分隔:1、2、5。非法和重复的索引将被忽略。您可以改为使用值“*”来拉伸所有列。请注意,一个列可以同时标记为可拉伸和可收缩。
android:shrinkColumns
要收缩的列的从零开始的索引。列索引必须用逗号分隔:1、2、5。非法和重复的索引将被忽略。您可以使用值“*”来缩小所有列。请注意,一个列可以同时标记为可拉伸和可收缩。
android:collapseColumns
要折叠的列的从零开始的索引。列索引必须用逗号分隔:1, 2, 5。非法和重复的索引将被忽略。
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:stretchColumns="*" android:background="@color/grey"> <TableRow> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_column="0" android:background="@color/red" android:textColor="@android:color/white" android:textSize="30dp" android:text="1" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_column="1" android:textColor="@android:color/white" android:textSize="30dp" android:background="@color/green" android:text="2" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_column="2" android:textColor="@android:color/white" android:textSize="30dp" android:background="@color/blue" android:text="3" /> </TableRow> <TableRow> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_column="0" android:background="@color/red" android:textColor="@android:color/white" android:textSize="30dp" android:text="1" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_column="1" android:textColor="@android:color/white" android:textSize="30dp" android:background="@color/green" android:text="2" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_column="2" android:textColor="@android:color/white" android:textSize="30dp" android:background="@color/blue" android:text="3" /> </TableRow> </TableLayout>
解释:
android:stretchColumns="*"
表示它根据table布局宽度
平均拉伸所有列android:shrinkColumns="*"
意味着它缩小所有列
android:shrinkColumns="0,2"
android:stretchColumns="1"
表示第 0 列和第 2 列是换行包含,第 1 列拉伸到可用宽度
android:stretchColumns="0,1,2"
android:shrinkColumns="1"
意味着如果列已经伸展然后收缩不适用
android:shrinkColumns="*"
android:collapseColumns="1"
android:collapseColumns 表示它隐藏给定的列
android:stretchColumns="*"
TextView :- android:layout_column="2"
意思是如果 table 行第一列布局参数不以 0 开头然后空视图添加到行
android:stretchColumns="*"
android:collapseColumns="1"
TextView :- android:layout_column="2"
表示如果table-行第一列布局参数不以0开头,则将空视图添加到行中,但如果折叠列然后添加空视图,则不隐藏该列索引仅隐藏通过显式添加的视图查看
希望对您有所帮助。