如何在表格布局中应用行跨度?
Posted
技术标签:
【中文标题】如何在表格布局中应用行跨度?【英文标题】:How to apply row span in tablelayout? 【发布时间】:2013-04-14 02:57:27 【问题描述】:如何将row_span应用于TableLayout?
我想做一些类似这张图片的东西,但我不知道怎么做。
制作这样的东西的正确方法是什么?
【问题讨论】:
似乎是重复的***.com/questions/2189986/… 不重复。这不是我问的问题的答案。 你有解决办法吗 【参考方案1】:小作弊(代码可能相当复杂,仅对简单设计有效):
创建一个TableLayout
。将另一个TableLayout
放在第一列中,并在第二列中放置一个您希望行跨度的视图。这个内部的TableLayout
可以有尽可能多的TableRows
,只要你希望另一个视图跨越。
代码如下:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_
android:layout_
android:orientation="vertical"
android:padding="@dimen/activity_horizontal_margin"
tools:context=".MainActivity">
<TableLayout
android:layout_
android:layout_>
<TableRow
android:layout_
android:layout_
android:weightSum="3">
<TableLayout
android:layout_
android:layout_
android:layout_weight="1.5">
<TableRow
android:layout_
android:layout_
android:background="@android:color/holo_blue_dark">
<TextView
android:text="Row 1"/>
</TableRow>
<TableRow
android:layout_
android:layout_
android:background="@android:color/holo_blue_light">
<TextView
android:text="Row 2"/>
</TableRow>
<TableRow
android:layout_
android:layout_
android:background="@android:color/holo_blue_bright">
<TextView
android:text="Row 3"/>
</TableRow>
</TableLayout>
<TextView
android:layout_
android:layout_
android:layout_weight="1.5"
android:text="Second column, rowspan 3"
android:background="@android:color/holo_purple"
android:gravity="center"/>
</TableRow>
</TableLayout>
</LinearLayout>
所以,你总结一下:
TableLayout:第一列(TableLayout 包含我们想要的任意数量的 TableRows),第二列(将占用所有这些行空间的元素)。
【讨论】:
我错过了什么?你怎么做两行==两列?您应该将两个表格布局放在一行中以实现两列,然后在嵌套表格布局中放置行并在第二个表格布局中放置一行或任何其他内容。然后在第二行设置 span=2 对不起。这是一个错误。我的意思是两列,而不是两行。问题是,第一列包含一个 TableLayout,其中包含您想要跨越的行数,而第二列仅包含一个视图。我会编辑。 将它用于行列表项正是我需要的哈【参考方案2】:TableLayout
不支持行跨度,仅支持列跨度。 GridLayout
支持行跨度和列跨度:
(图片来自http://android-developers.blogspot.com/2011/11/new-layout-widgets-space-and-gridlayout.html)
【讨论】:
以上是关于如何在表格布局中应用行跨度?的主要内容,如果未能解决你的问题,请参考以下文章