98 votes

Android - Comment définir la barre d'évaluation est non cliquable et tactile dans HTC mobile

Mon application a des barres de notation. Je souhaite que la barre d'évaluation soit non cliquable et non tactile. Pour cela, j'ai ajouté le code suivant dans le xml de chaque barre d'évaluation.

Il fonctionne dans le Samsung Galaxy Apollo GT-i5801. Mais cela ne fonctionne pas dans le mobile HTC. Pourquoi?

code xml

 android:clickable="false"     
android:focusableInTouchMode="false"    
android:focusable="false"

Merci

343voto

Andy Points 1546

Vous pouvez également définir la RatingBar comme indicateur à partir du XML avec les éléments suivants :

 android:isIndicator="true"

21voto

alireza amini Points 5

Ça y est, écrivez ce code dans votre setOnRatingBarChangeListener

 ratingaddrate.setIsIndicator(true);

Mettre à jour :

Vous pouvez utiliser cet exemple dans votre XML

 android:isIndicator="true"

ajoutez également cette ligne au code

 ratingBar.setFocusable(false);

20voto

Ryan C Points 183

Ne définissez pas enabled sur false car cela atténuera le contrôle. Ce que vous voulez faire, c'est remplacer l'écouteur tactile comme ceci :

 import android.view.View.OnTouchListener;

RatingBar ratingBar = (RatingBar)findViewById(R.id.ratingBar);
ratingBar.setOnTouchListener(new OnTouchListener() {
        public boolean onTouch(View v, MotionEvent event) {
            return true;
        }
    });

Donc, en gros, vous interceptez le toucher et ne faites rien avec

Ajoutez également le code suivant pour bloquer les rollovers du trackball

 ratingBar.setFocusable(false);

0voto

Infomaster Points 321

Ajoutez style="?android:attr/ratingBarStyleIndicator" dans votre mise en page Par example

 <RatingBar
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/review_star"
        style="?android:attr/ratingBarStyleIndicator"
        android:scaleX=".5"
        android:rating="3.5"
        android:scaleY=".5"
        android:transformPivotX="0dp"
        android:transformPivotY="0dp"
        android:max="5"/>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X