2013-04-29 13 views
10

Ho un SeekBar che cambierà il progresso quando lo richiedo, ma non voglio che l'utente possa modificarlo manualmente.Disabilita le modifiche sulla barra di ricerca da parte del client

ho cercato di impostare SeekBar come questo:

<SeekBar 
     android:id="@+id/seekBar1" 
     android:layout_width="match_parent" 
     android:layout_height="65dp" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="78dp" 
     android:progress="10" 
     android:max="100" 
     android:clickable="false" 
     android:thumb="@drawable/transparent" 
     android:progressDrawable="@drawable/customprogressbar" /> 

Ma non funziona.

Come posso fare questo?


Questo è più o meno un esempio di come questo verrà visualizzato dal cliente.

Ho utilizzato uno stile personalizzato perché in futuro avrò bisogno di cambiare le immagini di sfondo e l'avanzamento a seconda della sezione su SeekBar.

Grazie per tutto!

No given description by asker

+0

Utilizzare un ProgressBar? –

+0

Dupe: http://stackoverflow.com/questions/4136569/how-to-set-an-android-seekbar-to-be-unmoveable-frozen – greg7gkb

+0

Possibile duplicato di [Come impostare un Android SeekBar per essere non amovibile/congelato ?] (http://stackoverflow.com/questions/4136569/how-to-set-an-android-seekbar-to-be-unmoveable-frozen) –

risposta

18

Una cosa che si può fare è quello di disabilitare SeekBar, Come seekbar.setEnabled(false)

così facendo quadro non accetterà ogni caso tocco da utente e può modificare il livello di progresso solo attraverso il codice .

Spero che questo vi aiuterà a .......

+0

Anche se potresti voler includere un drawable personalizzato come impostazione della barra di ricerca per disabilitato cambierà l'aspetto della barra di ricerca. – dberm22

+1

@Arjun, ho provato quello che mi hai infastidito, e funziona;) Grazie! – Shudy

+0

Desidero che la barra di ricerca sia mobile solo per pollice e disabilita il clic. come farlo ? –

27

È possibile utilizzare android: enabled = "false", ma visualizzerà effetto disabilitare [scurire la SeekBar].

Quindi, se si desidera visualizzare la barra di ricerca abilitata senza risposta all'attività del pollice, implementare il gestore di eventi tocco con il ritorno vero come mostrato di seguito.

seekBar.setOnTouchListener(new OnTouchListener(){ 
    @Override 
    public boolean onTouch(View v, MotionEvent event) { 
    return true; 
} 
}); 
1

Basta restituire false dal metodo onTouch della classe CustomSeekBar.

Spero che questo funzioni!