问题
I want to build the following layout but it is not working.
alt text http://toms-toy.de/rowspan.gif
<LinearLayout android:orientation="horizontal"...>
<ImageView ...></ImageView>
<TableLayout ...>
<TableRow..>
<ImageView ...></ImageView>
<ImageView ...></ImageView>
<ImageView ...></ImageView>
</TableRow>
<TableRow..>
<ImageView ...></ImageView>
<ImageView ...></ImageView>
<ImageView ...></ImageView>
</TableRow>
</TableLayout>
<ImageView ...></ImageView>
</LinearLayout>
回答1:
I put this together really fast, try this:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ImageView android:layout_width="50dip" android:layout_height="100dip" android:background="#cc0000"/>
<TableLayout android:layout_width="wrap_content" android:layout_height="wrap_content">
<TableRow>
<ImageView android:layout_width="50dip" android:layout_height="50dip" android:background="#aaaa00"/>
<ImageView android:layout_width="50dip" android:layout_height="50dip" android:background="#00aa00"/>
<ImageView android:layout_width="50dip" android:layout_height="50dip" android:background="#aaaa00"/>
</TableRow>
<TableRow>
<ImageView android:layout_width="50dip" android:layout_height="50dip" android:background="#00aa00"/>
<ImageView android:layout_width="50dip" android:layout_height="50dip" android:background="#aaaa00"/>
<ImageView android:layout_width="50dip" android:layout_height="50dip" android:background="#00aa00"/>
</TableRow>
</TableLayout>
<ImageView android:layout_width="50dip" android:layout_height="100dip" android:background="#cc0000"/>
</LinearLayout>
回答2:
try out this:
<TableLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TableRow>
<TextView android:text="1-2, 1;\t" android:layout_gravity="center" />
<TableLayout>
<TableRow>
<TextView android:text="1, 2;\t" android:layout_gravity="center" />
</TableRow>
<TableRow>
<TextView android:text="2, 2;\t" android:layout_gravity="center" />
</TableRow>
</TableLayout>
</TableRow>
</TableLayout>
回答3:
The output of the below code
By Default the android doesn't have any attribute called rowspan but the below code works fine and created the row span.
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<TableRow>
<TextView
android:text="Hello"
android:textSize="30dp"
/>
<TextView
android:text="Hello World"
android:textSize="30dp"
android:background="@drawable/border"
/>
<Button android:text="Click me"
android:textSize="30dp"/>
</TableRow>
<TableRow>
<TextView
android:text="Hello"
android:textSize="30dp"
/>
<Button android:text="Click"
android:textSize="30dp"
android:layout_column="2"/>
</TableRow>
<TableRow>
<TextView
android:text="Hello"
android:textSize="30dp"
/>
<TextView
android:text="Hello"
android:textSize="30dp"
/>
<Button android:text="Click me"
android:textSize="30dp"/>
</TableRow>
<TableRow>
<TableLayout
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:layout_span="2">
<TableRow>
<Button android:text="1"/>
<Button android:text="2"/>
</TableRow>
<TableRow>
<Button android:text="3"/>
<Button android:text="4"/>
</TableRow>
</TableLayout>
<Button
android:layout_height="match_parent"
android:layout_width="wrap_content"
android:text="Enter"
android:background="#ff0099"/>
</TableRow>
</TableLayout>
来源:https://stackoverflow.com/questions/2189986/android-table-layout-rowspan