2009-06-17 5 views
2

Activity에이 표시됩니다. 이 각각의 GridViews은 화면의 너비에 걸쳐있는 배경으로 TextView으로 나뉩니다. GridViews은 책의 볼륨을 나타내며 격자의 각 항목은 볼륨의 책을 나타내는 Button입니다.여러 개의 안드로이드 GridView가 wrap_content을하지 않습니다

모두 GridViewsTextViewsRelativeLayout 안에 있습니다. 일부 볼륨에는 많은 책과 다른 책이 있기 때문에 개별 그리드보기를 wrap_content으로 가져와 모든 책을 표시하는 데 필요한 모든 공간을 차지하려고했지만 행운이 없었습니다. View은 공백을 GridViews 각각으로 균등하게 나누어 대부분의 책을 숨 깁니다. 아래 XML 레이아웃이 있습니다. 아무도 내가이 일을 어떻게 처리 할 수 ​​있다고 말할 수 있습니까?

<?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> 

답변

-1

세트의 모든 GRIDVIEW 모두

android:layout_width="wrap_content" 
android:layout_height="wrap_content" 

태그입니다.

1

GridView Weight = 0.5를 지정하여보십시오. 나는 며칠 전 같은 상황에 직면 해있다. 레이아웃 변경이 간단합니다. 왼쪽 및 오른쪽 GridView에 weight = 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> 

`