2013-04-29 5 views
10

Ich habe eine SeekBar, die den Fortschritt ändert, wenn ich es benötige, aber ich möchte nicht, dass der Benutzer sie manuell ändern kann.Deaktivieren Sie die Suchleiste nach Client

Ich versuchte, die SeekBar wie dies einzustellen:

<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" /> 

Aber es funktioniert nicht.

Wie kann ich das tun?


Das ist mehr oder weniger ein Beispiel dafür, wie dies vom Kunden gesehen wird.

Ich habe einen benutzerdefinierten Stil verwendet, weil ich in Zukunft die Hintergrundbilder und den Fortschritt abhängig davon ändern muss, in welchem ​​Abschnitt die SeekBar sein wird.

Danke für alle!

No given description by asker

+0

Verwenden Sie eine ProgressBar? –

+0

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

+0

Mögliches Duplikat von [Wie setze ich eine Android SeekBar auf unbeweglich/eingefroren ?] (http://stackoverflow.com/questions/4136569/how-to-set-an-android-seekbar-to-be-unmoveable-frozen) –

Antwort

18

Eine Sache, die Sie tun können, ist die seekbar zu deaktivieren, Wie seekbar.setEnabled(false)

so Rahmen tun wird jedes Touch-Ereignis von dem Benutzer nicht akzeptieren und Sie Können Fortschritt Ebene nur durch den Code ändern .

Ich hoffe, dies wird Ihnen helfen .......

+0

Obwohl Sie möchten möglicherweise ein benutzerdefiniertes Zeichen als Einstellung der Suchleiste enthalten deaktiviert ändert das Aussehen der Suchleiste. – dberm22

+1

@Arjun, ich habe getestet, was Sie mir suggest, und es funktioniert;) Danke! – Shudy

+0

Ich möchte, dass die Suchleiste nur mit dem Daumen beweglich ist und den Klick deaktiviert. wie es geht ? –

27

Sie Android verwenden: enabled = "false", aber es wird disable Effekt [verdunkeln SeekBar-] anzuzeigen.

Wenn Sie die Suchleiste aktivieren möchten, ohne auf die Daumenaktivität zu reagieren, implementieren Sie den Touch-Ereignishandler mit return true, wie unten gezeigt.

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

Geben Sie einfach false von der onTouch-Methode der CustomSeekBar-Klasse zurück.

Hoffe, das funktioniert!

Verwandte Themen