2009-06-17 23 views
2

Activityには5 GridViewsと表示されています。これらの各GridViewsは、画面の幅にまたがる背景でTextViewで除算されます。 GridViewsは本の量を表し、グリッドの各項目はボリューム内の本を表すButtonです。複数のアンドロイドのGridViewはwrap_contentを表示しません

GridViewsおよびTextViewsは、RelativeLayoutの中にあります。一部のボリュームには書籍やその他の書籍が数多くあるため、個々のグリッドビューを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の左右に2つの空のビューを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> 

`

関連する問題