我正在尝试向Android中的TableLayout
添加行,而orientation属性似乎不起作用。基本上我需要创建一个TableRow
,向其添加多个TextView
,添加到TableLayout
并将TextView
垂直堆叠而不是水平堆叠。
XML看起来像这样:
<TableLayout android:id="@+id/mylayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<TableRow android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:text="Test1"></TextView>
<TextView android:text="Test2"></TextView>
</TableRow>
</TableLayout>
这似乎应该可以工作,但TextViews最终从左到右堆叠。有什么想法吗?
答案 0 :(得分:1)
尝试更改
<TextView android:text="Test1"></TextView>
<TextView android:text="Test2"></TextView>
为:
<TextView android:text="Test1" android:layout_column="0"></TextView>
<TextView android:text="Test2" android:layout_column="0"></TextView>
请参阅文档TableLayout
(http://developer.android.com/reference/android/widget/TableLayout.html)
必须以递增的列顺序将单元格添加到行中,包括代码和XML。列号从零开始。如果没有为子单元格指定列号,它将自动增加到下一个可用列。如果跳过列号,则该行将被视为空单元格。有关使用XML创建表的示例,请参阅ApiDemos中的TableLayout示例。
答案 1 :(得分:1)
We can do by inserting TableLayout inside TableRow,like this.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<TableLayout android:id="@+id/mylayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<TableRow android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TableLayout android:id="@+id/mylayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<TextView android:text="Test1"></TextView>
<TextView android:text="Test2"></TextView>
</TableLayout>
</TableRow>
</TableLayout>
</LinearLayout>
答案 2 :(得分:0)
我找到了解决这个问题的方法。我创建了一个RelativeLayout
,我正在以编程方式为每个垂直行添加垂直方向LinearLayout
。我保留了最后插入的控件ID的句柄LinearLayout
并在该ID的右侧插入新的。感觉有点kludgy,但它的确有效。
答案 3 :(得分:0)
创建一个垂直方向的LinearLayout,并在其中包含文本视图。然后将此LinearLayout添加到TableRow
<TableLayout android:id="@+id/mylayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<TableRow android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView android:text="Test1"></TextView>
<TextView android:text="Test2"></TextView>
</LinearLayout>
</TableRow>
</TableLayout>