Marciano Verde
09/09/13, 11:58:06
Hola, tengo un problemilla con un gridview
y es que me calcula mal el alto de los items...
mirad la foto:
http://img513.imageshack.us/img513/4739/9ki.png
En la 3ª columna los marcos de los items se chocan...
Yo quiero que cada fila se ponga a distancia suficiente para que no se choquen.
He puesto los item de la primera fila de manera que todos los textos ocupen 3 lineas, y entonces pone bien la siguiente fila, pero si unos tienen una linea, otros dos, y otros 3, me hace cosas raras...
el gridview lo tengo declarado asi:
<GridView
android:id="@+id/gridview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
tools:listitem="@layout/misitems"
android:columnWidth="180dp"
android:numColumns="auto_fit"
android:verticalSpacing="10dp"
android:horizontalSpacing="10dp"
android:stretchMode="columnWidth"
android:gravity="center"
/>
y los items están definidos en el archivo misitems.xml, cuyo contenido es:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="@drawable/marco"
>
<ImageView
android:id="@+id/foto"
android:layout_width="70dp"
android:layout_height="70dp"
/>
<TextView
android:id="@+id/texto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="texto"
android:textColor="#ffffff"
android:textAppearance="?android:attr/textAppearanceLarge"
/>
</LinearLayout>
¿alguna idea de por donde va el problema?
AÑADO:
en principio lo he resuelto poniendo:
<size android:height="200dp" />
en el drawable, dentro del shape, y funciona, pero queda a fijado a un alto fijo, yo quería que fuera automático en función del item con contenido de mayor alto.
y es que me calcula mal el alto de los items...
mirad la foto:
http://img513.imageshack.us/img513/4739/9ki.png
En la 3ª columna los marcos de los items se chocan...
Yo quiero que cada fila se ponga a distancia suficiente para que no se choquen.
He puesto los item de la primera fila de manera que todos los textos ocupen 3 lineas, y entonces pone bien la siguiente fila, pero si unos tienen una linea, otros dos, y otros 3, me hace cosas raras...
el gridview lo tengo declarado asi:
<GridView
android:id="@+id/gridview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
tools:listitem="@layout/misitems"
android:columnWidth="180dp"
android:numColumns="auto_fit"
android:verticalSpacing="10dp"
android:horizontalSpacing="10dp"
android:stretchMode="columnWidth"
android:gravity="center"
/>
y los items están definidos en el archivo misitems.xml, cuyo contenido es:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="@drawable/marco"
>
<ImageView
android:id="@+id/foto"
android:layout_width="70dp"
android:layout_height="70dp"
/>
<TextView
android:id="@+id/texto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="texto"
android:textColor="#ffffff"
android:textAppearance="?android:attr/textAppearanceLarge"
/>
</LinearLayout>
¿alguna idea de por donde va el problema?
AÑADO:
en principio lo he resuelto poniendo:
<size android:height="200dp" />
en el drawable, dentro del shape, y funciona, pero queda a fijado a un alto fijo, yo quería que fuera automático en función del item con contenido de mayor alto.