Ho un GridView nella mia applicazione Android che ha un numero di ImageViews in esso. Lo spazio sul mio schermo è limitato e voglio che le immagini occupino il maggior spazio possibile. Sfortunatamente, GridView lascia sempre 5 pixel di spazio sullo schermo vuoto attorno al bordo esterno di ImageViews (lo spazio tra ImageViews è impostato con spaziatura orizzontale/verticale e si comporta correttamente). Lo spazio vuoto si comporta come un margine attorno alle immagini, ma non riesco a liberarmene. Qualcuno sa che cosa sta causando questo "confine" e come posso liberarmene (o almeno renderlo più piccolo)? Grazie.Perché ci sono altri pixel attorno al mio GridView Android?
Aggiornamento: Sto creando ImageViews gonfiando un file .xml nel metodo getView() della mia classe Adapter. Ecco il xml sto gonfiaggio:
<ImageView
xmlns:android="http://schemas.android.com/apk/res/android"
android:background="#FF00FF" />
ho definito il GridView nel mio file XML di layout come questo:
<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"/>
Ecco uno screenshot del problema. L'area rossa nel mio GridView. Le aree viola sono le mie ImageViews. L'immagine visualizzata è un semplice rettangolo blu con un centro trasparente. L'immagine è di 45x45 pixel (ma nella mia app sono solo 30x30 pixel - mi preoccuperò più tardi). Il bordo rosso intorno al viola è quello che sto cercando di eliminare.
+1, mi hai salvato almeno 4 ore di tentativi ed errori. Sembra che un modo pulito per specificare "nessuna immagine" in questa situazione sia 'android: listSelector =" @ android: id/vuoto "' – mvds
@mvds android: listSelector = "@ android: id/empty" ha causato un'eccezione. Sembra che GridView non possa gestire questo listSelector. Ho invece impostato il selettore su un colore trasparente. – Janusz
@Janusz corretto, su alcuni dispositivi '@android: id/empty' porta a un arresto anomalo. '@android: color/transparent' sembra essere la scelta giusta. – mvds