2013-10-02 25 views
5

Używam GridView w moim kodzie. Mam problem z przestrzenią. To jest mój problem:Odstępy między elementami GridView

enter image description here

Gdy tekst jest krótki, nie ma problemu, ale problem jest, gdy są dłuższe. chcę uzyskać to:

enter image description here

To mój GridView:

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

I to jest XML z elementów GridView:

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

Próbowałam użyj android: stretchMode = "spacingWidth", "columnWidth" and android: verticalSpacing = "4DP" ... ale bez powodzenia

Szukałem odpowiedzi, ale nie mogę znaleźć nic mi pomóc

Doceniam jakiejkolwiek pomocy

Dzięki i pozdrowienia

+0

co się stanie, jeśli ustawisz height_heep głównego elementu LinearLayout elementu na "match_parent" zamiast "wrap_content"? – mihail

+0

Próbowałem już tej zmiany, ale nie działa – Sergio76

Odpowiedz

2

musi zadeklarować prawdziwą wielkość max. Ustawienie w układzie głównym nie pomoże żadnym parametrom. Powinieneś ustawić go osobno w każdym z elementów podrzędnych. Na przykład tutaj jest mój kod, proszę spojrzeć na te dwa elementy podrzędne, mają maksymalną możliwą wysokość i szerokość. Myślę, że ustawienie szerokości nie ma znaczenia, ale mogę się mylić. Jednak i tak rozmiar wysokości musi zostać ustawiony. Sprawdź to i spróbuj w swoim projekcie.

<?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> 
Powiązane problemy