网格视图下方的多个文本视图(多行)

时间:2014-05-05 20:21:18

标签: android xml gridview layout android-linearlayout

对于我的应用的用户界面,我想要一个Gridview,如果是Textviews,则需要两行以上。如图所示。

My desired layout

我可以设法让一个textview很好地坐在gridview下面(使用this method),但我无法弄清楚如何让第二个正确显示。它似乎总是在屏幕的底部,或者在屏幕整个高度的右侧非常薄。

代码:

  

<GridView
    android:id="@+id/gridview"
    android:layout_alignParentTop="true"
    android:layout_above="@+id/textLinearLayout"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:columnWidth="135dp"
    android:numColumns="auto_fit"
    android:verticalSpacing="10dp"
    android:horizontalSpacing="10dp"
    android:stretchMode="columnWidth"
    android:gravity="center"
    />
<LinearLayout
    android:id="@+id/textLinearLayout"
    android:layout_alignParentBottom="true"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_margin="10dp"
    >
    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content">
        <TextView
            android:id="@+id/textviewTimerLabel"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Elapsed time: "/>
        <TextView
            android:id="@+id/textviewTimerTime"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginRight="10dp"
            android:text="00:00:00"/>
        <TextView
            android:id="@+id/textviewPCUTotalLabel"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Total PCU's: "/>
        <TextView
            android:id="@+id/textviewPCUTotal"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="0"/>
    </LinearLayout>
</LinearLayout>
     

2 个答案:

答案 0 :(得分:2)

将网格布局和其他两个文本fieltd放在线性布局中。然后将其所有layout_width属性设为match_parent。最后为视图添加权重,以便网格布局的空间是文本字段的两倍。例如,网格布局得到权重= 2,文本视图得到权重= 1

答案 1 :(得分:1)

<LinearLayout
    ...>
    <GridView
        ...
        />
    <LinearLayout
        ...
        android:orientation="vertical"
        >
        <TextView
            ...
            />
        <TextView
            ...
            />
        <TextView
            ...
            />
    </LinearLayout>
</LinearLayout>

我不确定为什么你应该将两个LinearLayout嵌套在一起就足够了,但你需要的只是将LinearLayout的方向设置为垂直。