Voglio mostrare un pulsante sotto un file ListView
. Il problema è che se ListView
viene esteso (elementi aggiunti ...), il pulsante viene spinto fuori dallo schermo.
Ho provato un LinearLayout
con i pesi (come suggerito in Android: perché non c'è maxHeight per una vista? ), Ma o ho sbagliato i pesi o semplicemente non ha funzionato.
Inoltre, ho trovato da qualche parte il suggerimento per utilizzare un file RelativeLayout
. Il ListView
verrà quindi impostato sopra il pulsante con il android:layout_above
param.
Il problema con questo è che non so come posizionare il pulsante in seguito. Nell'esempio che ho trovato, la Vista sotto è ListView
stata regolata usando android:layout_alignParentBottom
, ma non voglio che il mio pulsante si aggrappi alla parte inferiore dello schermo.
Qualche idea a parte l'uso del metodo setHeight e del calcolo dello spazio richiesto?
Modifica: ho molte risposte utili.
La soluzione di bigstone e user639183 ha funzionato quasi perfettamente. Tuttavia, ho dovuto aggiungere un'imbottitura / margine extra nella parte inferiore del pulsante, poiché sarebbe stato comunque spinto a metà fuori dallo schermo (ma poi fermato)
La risposta di Adinia con il relativo layout va bene solo se vuoi che il pulsante sia fissato nella parte inferiore dello schermo. Non è quello che intendevo, ma potrebbe comunque essere utile per gli altri.
La soluzione di AngeloS è stata quella che ho scelto alla fine perché ha creato gli effetti che volevo. Tuttavia, ho apportato due piccole modifiche al
LinearLayout
pulsante intorno:Innanzitutto, poiché non volevo avere valori assoluti nel mio layout, sono passato
android:layout_height="45px"
awrap_content
, che funziona altrettanto bene.In secondo luogo, poiché volevo che il pulsante fosse centrato orizzontalmente, che è supportato solo da verticale
LinearLayout
, ho cambiato android: orientamento = "orizzontale" in "verticale".
AngeloS ha anche affermato nel suo post iniziale di non essere sicuro se il
android:layout_weight="0.1"
param inLinearLayout
giroListView
avesse qualche effetto; Ho appena provato e funziona davvero! Senza, il pulsante viene nuovamente spinto fuori dallo schermo.
android:layout_alignParentBottom="true"
. Ma per essere chiari, vuoi che il pulsante rimanga attaccato alla parte inferiore di ListView quando ci sono pochi elementi? Se sì, guarda cosa dice Rich.