¿Por qué hay pixeles adicionales alrededor de mi Android GridView?
Tengo un GridView en mi aplicación de Android que tiene un número de ImageViews en él. El espacio en mi pantalla es limitado y quiero que las imágenes ocupen el mayor espacio posible. Desafortunadamente, el GridView siempre deja 5 píxeles de espacio de pantalla vacía alrededor del borde exterior de ImageViews (el espacio entre ImageViews se establece con espaciamiento 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 lo que está causando esta "frontera" y cómo puedo deshacerme de él (o al menos hacerlo más pequeño)? Gracias.
Actualización: Estoy creando ImageViews inflando un archivo .xml en el método getView () de mi clase de adaptador. Aquí está el xml que estoy inflando:
- Android Set ImageView image src en estilo
- Escucha de zoom para PhotoView
- ¿Cómo abrir una URL cuando haga clic en ImageView en Android?
- Configuración de Android ImageView Bitmap FitXY no funciona
- Recursos de Android: ¿Cómo se cargan los mapas de bits de los recursos manejados en cuanto a memoria?
<ImageView xmlns:android="http://schemas.android.com/apk/res/android" android:background="#FF00FF" />
He definido el GridView en mi archivo xml de diseño como este:
<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 púrpuras son mis imágenes. La imagen que se muestra es un simple rectángulo azul con un centro transparente. La imagen es de 45×45 píxeles (pero es sólo 30×30 píxeles en mi aplicación – voy a preocuparme por eso más tarde). El borde rojo alrededor de la púrpura es lo que estoy tratando de eliminar.
- Imágenes en TextView
- Android Drop Shadow en la vista
- Cómo obtener una imagen recortada de ImageView
- Picasso no carga la imagen
- ¿Cómo puedo mostrar dos imágenes lado a lado en Android?
- Android: ImageView getID (); Devolver entero
- Antialiased esquinas redondeadas en Android ImageView
- Galaxia s4 y tal vez todos los teléfonos HD? Fuera de error de memoria de inflado de diseño
Gracias por el consejo de todos, pero resulta que la respuesta estaba en algún lugar que no esperábamos. Los píxeles adicionales fueron causados por el selector asignado a mi GridView. Supongo que el selector predeterminado es una imagen de 9 parches que tiene un borde de 5 píxeles alrededor. Cuando creé y asigné un 9-parche que tenía bordes más pequeños (o sin fronteras en absoluto – sólo un archivo .png normal) el espacio extra en mi GridView desapareció.
¿Intentaste establecer el padding
en el ImageView y el horizontalSpacing
y verticalSpacing
en el GridView a 0?
Trate de establecer el layout_height y layout_width de la vista de imagen en fill_parent.
iv.setLayoutParams(ViewGroup.LayoutParams(ViewGroup.MATCH_PARENT, ViewGroup.MATCH_PARENT));
Lo haré dinámicamente, creo.
Para mí nada ayudó excepto fijar el android:columnWidth
atributo en el xml (por ejemplo android:columnWidth="50dp"
)
- Java.lang.ClassNotFoundException después de cambiar nada en el proyecto, pero actualizar eclipse android sdk
- Emulador de Android se estrella en Mac