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:
- ActionBar superposición con GridView relleno o personalizado GridView para mostrar toda la primera imagen?
- Margen de set / padding de Android para el contenido (texto) en lugar de un contenedor (EditText)
- No funciona EditarTexto de relleno en la API 21
- TwoWay View Añadir espacio vacío automáticamente
- TextView no se adhiere a la parte superior derecha
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.
¿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?
- Android preferencia reactivación de relleno en orientación horizontal
- Android - Cómo configurar el relleno para TextView en ListView o ExpandableListView
- ¿Cómo puedo agregar espacio en blanco al final de un ListView?
- Encuadernación para texto de sugerencia dentro de EditText
- El relleno no funciona en algunos dispositivos
- Cómo hacer android buscar barra de ancho completo en api 17 o superior?
- Android reemplaza el relleno de 9 parches en XML de un lado
- ajuste de relleno para textview no funciona
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
.
- Cómo modificar la pila Bluetooth de Android para habilitar el fregadero A2dp
- Errores de Gradle en Android Studio