GridView y el exceso de espacio de relleno

Tengo un problema con el diseño de vista de cuadrícula en Android. No puedo encontrar una solución para eliminar el espacio extra en vista de cuadrícula. He intentado un montón de cosas (numColumns, columnWidth, stretchMode, gravedad) y consejos (de StackOverflow), pero nada funciona correctamente. Pasé casi 8 horas con este problema. Aquí hay un código de vista de cuadrícula:

<GridView android:id="@+id/lookbook_gridview" android:layout_width="fill_parent" android:layout_height="wrap_content" android:listSelector="@null" android:padding="0dip" android:layout_margin="0dip" android:verticalSpacing="0px" android:horizontalSpacing="0px" android:numColumns="auto_fit" android:columnWidth="160px" android:stretchMode="columnWidth" android:gravity="center" android:layout_gravity="center" android:background="#000" android:cacheColorHint="#000" android:descendantFocusability="afterDescendants" android:layout_alignParentTop="true" android:layout_above="@id/buttons"> </GridView> 

También traté de reducir el espacio extra programáticamente:

 private void setGridview() { GridView gridview = (GridView) findViewById(R.id.lookbook_gridview); Display display = ((WindowManager) getSystemService(WINDOW_SERVICE)).getDefaultDisplay(); int gridSize = display.getWidth(); int count = gridSize / 160; // image has 160x160 px int colWidth = (gridSize / count) - PADDING; gridview.setColumnWidth(colWidth); gridview.setNumColumns(count); } 

Pero funciona sólo en mi HTC Desire (derecha), pero en el emulador (izquierda) con la misma resolución de pantalla y la misma versión de API – no funciona.

Introduzca aquí la descripción de la imagen

¿Alguien sabe, cómo establecer imágenes en gridview sin ningún relleno especial o espacio para trabajar con éxito con todas las resoluciones y dispositivos?

Para resolver mi problema utilicé este gridView:

 <GridView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/MyGrid" android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="0dp" android:verticalSpacing="2dp" android:horizontalSpacing="2dp" android:scrollingCache="true" android:smoothScrollbar="true" android:clipChildren="true" android:alwaysDrawnWithCache="true" android:numColumns="auto_fit" android:columnWidth="100dp" android:stretchMode="columnWidth" android:gravity="center_horizontal" android:background="#000000"> </GridView> 

Lo más importante es la propiedad clipChildren .

  • Android: establece sólo un relleno de textview mediante programación
  • El relleno no funciona en ImageButton
  • El atributo de relleno de EditText no funciona para API 21 y 22
  • Establecer el relleno de texto real en TextView con elementos compuestos
  • Eliminar el relleno de Android SearchView cuando se amplía
  • MotionEvent.ACTION_UP no funciona
  • Android add padding entre los botones de los grupos de radio por programa
  • Android cambia el relleno del mapa de Google en tiempo de ejecución
  • Android Seekbar no puede eliminar el relleno / fondo
  • Último bloque incompleto con CipherInputStream / CipherOutputStream, incluso con relleno AES / CBC / PKCS5Padding
  • Libgdx Scene2d - Set actor (TextField) de relleno?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.