2013-10-02 11 views
5

Ich verwende eine GridView in meinem Code. Ich habe ein Problem mit dem Raum. Das ist mein Problem:Leerzeichen zwischen Elementen einer GridView

enter image description here

Wenn der Text kurz ist kein Problem, aber das Problem ist, wenn länger ist. Ich möchte dies erhalten:

<GridView 
      android:id="@+id/list" 
      android:layout_width="match_parent" 
      android:layout_height="0dp" 
      android:layout_margin="5dp" 
      android:layout_weight="1" 
      android:divider="@color/transparente" 
      android:horizontalSpacing="4dp" 
      android:longClickable="true" 
      android:numColumns="2" 
      android:scrollbars="none" 
      android:verticalSpacing="4dp" > 
     </GridView> 

Und das ist die xml der Elemente des Gridview:

enter image description here

Das ist mein Gridview ist

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_margin="5dp" 
    android:gravity="center_vertical" 
    android:paddingLeft="5dp" > 

    <LinearLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:orientation="vertical" 
     android:paddingBottom="5dp" 
     android:paddingTop="2dp" > 

     <TextView 
      android:id="@+id/textView_title_name" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Text text text text text text" 
      android:textColor="@color/blanco" 
      android:textSize="@dimen/titulos" /> 

     <TextView 
      android:id="@+id/textView_alarm_time" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Text text text text text text" 
      android:textColor="@color/blanco" 
      android:textSize="@dimen/contenido" /> 

     <TextView 
      android:id="@+id/textView_alarm_days" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Text text text text text text" 
      android:textColor="@color/blanco" 
      android:textSize="@dimen/contenido" /> 
    </LinearLayout> 

</LinearLayout> 

Ich habe versucht, Verwenden Sie android: stretchMode = "spacingWidth", "columnWidth" and android: verticalSpacing = "4DP" ... aber ohne Erfolg

ich nach Antworten gesucht, aber kann nichts finden mich

zu helfen, ich schätze jede Hilfe

Danke und Grüße

+0

Was passiert, wenn Sie layout_height des Haupt-LinearLayout des Elements auf "match_parent" statt auf "wrap_content" setzen? – mihail

+0

Ich habe diese Änderung bereits versucht, funktioniert aber nicht – Sergio76

Antwort

2

Sie müssen die reale maximale Größe erklären. Im Root-Layout können keine Parameter verwendet werden. Sie sollten es in jedem untergeordneten Element separat festlegen. Zum Beispiel hier ist mein Code, bitte schauen Sie sich diese beiden Kinderelemente an, sie haben maximal mögliche Höhe und Breite. Ich denke, Einstellungsbreite spielt keine Rolle, aber ich könnte mich irren. Die Höhe muss jedoch trotzdem eingestellt werden. Bitte überprüfen Sie dies und versuchen Sie es in Ihrem Projekt.

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:orientation="vertical" 
    android:gravity="center" 
    android:layout_height="wrap_content"> 

    <ImageView 
     android:id="@+id/image" 
     android:layout_width="150dp" 
     android:layout_height="200dp" 
     android:src="@drawable/stub" 
     android:scaleType="centerCrop" /> 

    <TextView 
     android:id="@+id/text" 
     android:layout_width="wrap_content" 
     android:layout_height="80dp" 
     android:layout_gravity="center_horizontal|center_vertical" 
     android:textSize="20dip" 
     android:ellipsize="end" 
     android:visibility="visible" 
     android:text="text" /> 
</LinearLayout>