GridView或TableLayout?

时间:2011-10-25 07:35:15

标签: android android-layout android-gridview android-tablelayout

http://img683.imageshack.us/img683/645/weatherscreenmockupoutl.png

我问自己,这是编写此布局的最佳方式。基本上我只需要知道如何获得宽度相等的七列。

提前致谢!

5 个答案:

答案 0 :(得分:4)

如果它是你想要的相等宽度,你可以使用相同重量的子项进行linearLayout。看看下面的xml。

<LinearLayout
    layout:orientation="horizontal"
>
    <LinearLayout
      android:id = "@+id/firstcolumn"
      android:layout_weight="1"
      android:orientation="vertical"
      android:layout_width="0dp"
    >
    // do the same for your rest of the six children

</LinearLayout>

答案 1 :(得分:3)

TableLayout似乎更好,因为列数不会改变。使用GridView,您必须添加适配器和内容。

答案 2 :(得分:2)

您可以将TableLayout与TableRow完美结合,并根据需要制作行和列,非常简单。

这是一个带有4个按钮的2x2网格示例(例如放在一个LinearLayout中):

<TableLayout
    android:id="@+id/tableLayout1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" >

    <TableRow
        android:id="@+id/tableRow3"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >

        <Button
            android:id="@+id/button1"
            android:layout_weight="1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" />

        <Button
            android:id="@+id/button2"
            android:layout_weight="1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" />
    </TableRow>

    <TableRow
        android:id="@+id/tableRow4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <Button
            android:id="@+id/button3"
            android:layout_weight="1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" />

        <Button
            android:id="@+id/button4"
            android:layout_weight="1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" />
    </TableRow>
</TableLayout>

答案 3 :(得分:0)

最好是使用gridview。尝试这样的事情:

<GridView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:numColumns="7" />

答案 4 :(得分:0)

/>
<GridView 
android:layout_width="match_parent"
android:layout_height="match_parent"
android:columnWidth="90dp"
android:numColumns="7"
android:stretchMode="columnWidth"
android:gravity="center"
/>

试试这个..