我想创建一个像这张图片的布局:
我尝试创建这样的东西:
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:stretchColumns="*" >
<TableRow
android:id="@+id/sth"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TextView android:text="hello" />
<TextView android:text="hello2" />
<TableLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:stretchColumns="*" >
<TableRow
android:id="@+id/sth1"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<TextView android:text="hello3" />
<TextView android:text="hello4" />
<TextView android:text="hello5" />
</TableRow>
<TableRow
android:id="@+id/sth2"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<TextView android:text="test1" />
<TextView android:text="test2" />
<TextView android:text="test3" />
</TableRow>
</TableLayout>
</TableRow>
</TableLayout>
但结果是这一个:
正如您所看到的,三个TextView消失了,我对此一无所知。我该怎么办?
答案 0 :(得分:1)
您也可以使用android:layout_column =“”属性执行此操作,将列号放在此属性中,以0索引开头
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TableRow
android:id="@+id/tableRow1"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TextView
android:id="@+id/hello"
android:layout_column="0"
android:padding="5dip"
android:text="hello" />
<TextView
android:id="@+id/hello2"
android:layout_column="1"
android:padding="5dip"
android:text="hello2" />
<TextView
android:id="@+id/hello3"
android:layout_column="2"
android:padding="5dip"
android:text="hello3" />
<TextView
android:id="@+id/hello4"
android:layout_column="3"
android:padding="5dip"
android:text="hello4" />
<TextView
android:id="@+id/hello5"
android:layout_column="4"
android:padding="5dip"
android:text="hello5" />
</TableRow>
<TableRow
android:id="@+id/tableRow2"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/test1"
android:layout_column="2"
android:padding="5dip"
android:text="test1" />
<TextView
android:id="@+id/test2"
android:layout_column="3"
android:padding="5dip"
android:text="test2" />
<TextView
android:id="@+id/test3"
android:layout_column="4"
android:padding="5dip"
android:text="test3" />
</TableRow>
</TableLayout>
答案 1 :(得分:0)
我将代码更改为:
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:stretchColumns="*" >
<TableRow
android:id="@+id/sth"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
>
<TextView android:text="hello" />
<TextView android:text="hello2" />
<TableLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:stretchColumns="*" >
<TableRow
android:id="@+id/sth1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
>
<TextView android:text="hello3" />
<TextView android:text="hello4" />
<TextView android:text="hello5" />
</TableRow>
<TableRow
android:id="@+id/sth2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
>
<TextView android:text="test1" />
<TextView android:text="test2" />
<TextView android:text="test3" />
</TableRow>
<TableRow
android:id="@+id/sth3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
>
<TextView android:text="test4" />
<TextView android:text="test5" />
<TextView android:text="test6" />
</TableRow>
</TableLayout>
</TableRow>
</TableLayout>
问题是,我添加android:layout_weight="1"
并且它有效!
感谢Darkie的建议。