多个android GridViews不会wrap_content

时间:2009-06-17 18:11:28

标签: android android-layout android-gridview

我有Activity,显示5 GridViews。这些GridViews中的每一个都被TextView除以,其背景跨越屏幕的宽度。 GridViews表示一定量的图书,网格中的每个项目都是Button,表示卷中的图书。

所有GridViewsTextViews都位于RelativeLayout内。有些卷有很多书,有些只有少数,所以我一直试图将单独的网格视图设置为wrap_content并占用他们展示所有书籍所需的所有空间,但没有运气。 ViewGridViews的空间平均分配给每个<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:as="http://schemas.android.com/apk/res/edu.byu.scriptures" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <RelativeLayout android:id="@+id/gridNavBar" android:layout_height="44px" android:layout_width="fill_parent" android:background="@drawable/bgnd_1_44" android:paddingBottom="0px"> <Button android:id="@+id/homeButton" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_alignParentLeft="true" android:layout_centerVertical="true" android:layout_marginLeft="5px" android:text="Home" android:textSize="14sp" android:textColor="#fff" android:shadowColor="#444" android:shadowRadius="1" android:shadowDx="1" android:shadowDy="-1" android:background="@drawable/generic_button_xml"/> <TextView android:id="@+id/bookRef" android:text="Books" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:textColor="#fff" android:textSize="18sp" android:textStyle="bold" android:shadowColor="#444" android:shadowRadius="1" android:shadowDx="1" android:shadowDy="-1" /> </RelativeLayout> <ScrollView android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_below="@id/gridNavBar"> <RelativeLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content"> <TextView android:gravity="top" android:id="@+id/vol1DividerBar" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Volume 1" android:textColor="#000" android:background="@drawable/volume_divider" android:layout_centerHorizontal="true" android:layout_alignParentTop="true"/> <GridView android:layout_weight="1" android:id="@+id/vol1Grid" android:layout_width="fill_parent" android:layout_height="fill_parent" android:numColumns="auto_fit" android:verticalSpacing="0dp" android:horizontalSpacing="0dp" android:layout_below="@id/vol1DividerBar"/> <TextView android:layout_weight="1" android:id="@+id/vol2DividerBar" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Volume 2" android:textColor="#000" android:background="@drawable/volume_divider" android:layout_below="@id/vol1Grid"/> <GridView android:layout_weight="1" android:id="@+id/vol2Grid" android:layout_width="fill_parent" android:layout_height="wrap_content" android:numColumns="auto_fit" android:verticalSpacing="0dp" android:horizontalSpacing="0dp" android:layout_below="@id/vol2DividerBar"/> <TextView android:layout_weight="1" android:id="@+id/vol3DividerBar" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Volume 3" android:textColor="#000" android:background="@drawable/volume_divider" android:layout_below="@id/vol2Grid"/> <GridView android:layout_weight="1" android:id="@+id/vol3Grid" android:layout_width="fill_parent" android:layout_height="wrap_content" android:numColumns="auto_fit" android:verticalSpacing="0dp" android:horizontalSpacing="0dp" android:layout_below="@id/vol3DividerBar"/> <TextView android:layout_weight="1" android:id="@+id/vol4DividerBar" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="The Doctrine and Covenants" android:textColor="#000" android:background="@drawable/volume_divider" android:layout_below="@id/vol3Grid"/> <GridView android:layout_weight="1" android:id="@+id/vol4Grid" android:layout_width="fill_parent" android:layout_height="wrap_content" android:numColumns="auto_fit" android:verticalSpacing="0dp" android:horizontalSpacing="0dp" android:layout_below="@id/vol4DividerBar"/> <TextView android:layout_weight="1" android:id="@+id/vol5DividerBar" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="The Pearl of Great Price" android:textColor="#000" android:background="@drawable/volume_divider" android:layout_below="@id/vol4Grid"/> <GridView android:layout_weight="1" android:id="@+id/vol5Grid" android:layout_width="fill_parent" android:layout_height="wrap_content" android:numColumns="auto_fit" android:verticalSpacing="0dp" android:horizontalSpacing="0dp" android:layout_below="@id/vol5DividerBar"/> </RelativeLayout> </ScrollView> </RelativeLayout> ,隐藏了大部分书籍。我在下面有我的xml布局。谁能告诉我怎么做到这一点?

{{1}}

2 个答案:

答案 0 :(得分:1)

尝试分配GridView Weight = 0.5。我几天前面对同样的情况。布局工作的简单改变对我而言。 只需在我的GridView左侧和右侧添加两个空视图,权重为1,并为GridView分配0.5权重。例如

<LinearLayout 
    android:layout_width="fill_parent"
    android:gravity="center"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <View
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1" />

    <GridView
        android:id="@+id/myGridView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="0.5"
        android:numColumns="2"
        android:scrollbars="none"
        android:verticalSpacing="10dp" >
    </GridView>

    <View
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1" />
</LinearLayout>

`

答案 1 :(得分:-1)

同时设置

android:layout_width="wrap_content"
android:layout_height="wrap_content"
所有Gridview中的

标签。