web-dev-qa-db-fra.com

Désactiver les modifications sur la barre de recherche par le client

J'ai un SeekBar qui changera la progression lorsque j'en aurai besoin, mais je ne veux pas que l'utilisateur puisse le changer manuellement.

J'ai essayé de définir la SeekBar comme ceci:

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

Mais ça ne marche pas.

Comment puis-je faire ceci?


C'est plus ou moins un exemple de la façon dont cela va être vu par le client.

J'ai utilisé un style personnalisé car à l'avenir, je devrai changer les images d'arrière-plan et la progression en fonction de la section de la barre de recherche.

Merci pour tout!

No given description by asker

21
Shudy

Une chose que vous pouvez faire est de désactiver la barre de recherche, comme seekbar.setEnabled(false)

ce faisant, le cadre n'acceptera aucun événement tactile de l'utilisateur et vous pouvez modifier le niveau de progression uniquement via le code.

J'espère que cela t'aidera.......

36
Arjun Vekariya

Vous pouvez utiliser Android: enabled = "false", mais il affichera désactiver l'effet [assombrir votre barre de recherche].

Donc, si vous souhaitez afficher activer la barre de recherche sans réponse à l'activité du pouce, implémentez le gestionnaire d'événements tactiles avec retour vrai comme indiqué ci-dessous.

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

Renvoyez simplement false à partir de la méthode onTouch de la classe CustomSeekBar.

J'espère que cela fonctionne!

2
Pankaj Kumar