Tengo un GridView en mi aplicación Android que tiene una cantidad de ImageViews en él. El espacio en mi pantalla es limitado y quiero que las imágenes ocupen todo el espacio disponible que puedan. Desafortunadamente, GridView siempre deja 5 píxeles de espacio libre en la pantalla alrededor del borde exterior de ImageViews (el espacio entre ImageViews se establece con espaciado horizontal/vertical y se comporta correctamente). El espacio vacío actúa como un margen alrededor de ImageViews, pero no puedo deshacerme de él. ¿Alguien sabe qué está causando este "borde" y cómo puedo deshacerme de él (o al menos hacerlo más pequeño)? Gracias.¿Por qué hay píxeles adicionales en mi Android GridView?
Actualización: Estoy creando ImageViews inflando un archivo .xml en el método getView() de mi clase de adaptador. Aquí está el código XML que estoy inflando:
<ImageView
xmlns:android="http://schemas.android.com/apk/res/android"
android:background="#FF00FF" />
que define el GridView en mi archivo xml diseño de la siguiente manera:
<GridView
android:id="@+id/mygrid"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/abutton"
android:layout_marginBottom="8dp"
android:numColumns="5" android:background="#FF0000"/>
Aquí hay una captura de pantalla del problema. El área roja en mi GridView. Las áreas moradas son mis ImageViews. La imagen que se muestra es un simple rectángulo azul con un centro transparente. La imagen tiene 45x45 píxeles (pero solo tiene 30x30 píxeles en mi aplicación, me preocuparé más tarde). El borde rojo alrededor del púrpura es lo que estoy tratando de eliminar.
+1, me salvaste al menos 4 horas de prueba y error. Parece que una forma limpia de especificar "sin imagen" en esta situación es 'android: listSelector =" @ android: id/empty "' – mvds
@mvds android: listSelector = "@ android: id/empty" provocó una excepción. Parece que GridView no puede manejar este listSelector. En su lugar, establecí el selector en un color transparente. – Janusz
@Janusz correcto, en algunos dispositivos '@android: id/empty' provoca un bloqueo. '@android: color/transparent' parece ser la elección correcta. – mvds