2014-09-02 10 views
5

Ho un SeekBar in un RelativeLayout la cui larghezza è uguale alla larghezza dello schermo.Come fare a SeekBar occupare tutta la larghezza del genitore

Ho applicato layout_width="match_parent" allo SeekBar ma sembra mantenere uno spazio vuoto su entrambi i lati dello SeekBar per contenere il pollice.

Ho anche provato a utilizzare android:thumb="@null" Il pollice è sparito ma non lo spazio vuoto sui lati.

Ho davvero bisogno di fare in modo che la larghezza dello SeekBar corrisponda a quella del genitore. Qualcuno potrebbe aiutarmi con questo? Forse potrei creare una classe personalizzata SeekBar e impostare la larghezza alla larghezza genitore in inMisura(). Se questa è una possibile soluzione, non so come passare la larghezza genitore alla classe SeekBar.

Qualsiasi aiuto è apprezzato. Grazie.

+0

Puoi pubblicare l'xml, è la grafica nativa che stai utilizzando? – Niko

+0

Si prega di mostrare xml e screenshot di ciò che si desidera e ciò che si ottiene. –

risposta

17

cercare di definire in seguito con il SeekBar in xml:

android:padding="0dp" 
+1

Sono abbastanza sorpreso che questo abbia funzionato davvero! Molte grazie. Non ci avrei mai pensato, perché non mi sarei mai aspettato che il padding fosse presente a meno che non lo avessi definito in modo specifico nel layout. – DavidH

+0

Funziona ma il pollice non è nella giusta posizione. –

+5

non funziona in API 17 o versioni successive http://stackoverflow.com/questions/33327246/how-to-make-android-seekbar-full-width-in-api-17-or-above – sajad

0

Prima di pubblicare il tuo XML, immagino che il vostro RelativeLayout ha linee come segue

android:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 

Questo significa che il RelativeLayout non riempire sullo schermo, la barra di ricerca si riempie nel suo layout principale (RelativeLayout). Così non è possibile ottenere la visualizzazione desiderata.

+0

non ho paddings sulla vista genitore. Ma grazie per la tua risposta. – DavidH

3

Ho appena risolto questo problema nella mia app. Il problema è che, anche se non hai impostato il pad di seekBar, potrebbero esserci alcuni padding (paddingLeft, paddingTop, paddingRight, paddingBottom, paddingStart, paddingEnd) nel tema della tua appTheme si estende. Imposta questi paddings su 0dp, dovrebbe funzionare bene.

3
android:paddingStart="0dp" 
android:paddingEnd="0dp" 

Ha funzionato per me.