Exemple de barre d’évaluation Android

Exemple de barre d'évaluation Android

Dans Android, vous pouvez utiliser «http://developer.android.com/reference/android/widget/RatingBar.html[android.widget.RatingBar]» pour afficher le composant de la barre de notation dans l'icône étoiles. L'utilisateur peut toucher, faire glisser ou cliquer sur les étoiles pour définir facilement la valeur de la note.

Dans ce didacticiel, nous vous montrons comment utiliser XML pour afficher une barre de notation, quelques vues de texte et un bouton. Lorsque l'utilisateur clique sur l'étoile de la barre de notation, la valeur de notation sélectionnée sera affichée dans la vue de texte. Et, si l'utilisateur clique sur le bouton, la valeur de notation sélectionnée sera affichée sous forme de message flottant (message toast).

P.S This project is developed in Eclipse 3.7, and tested with Android 2.3.3.

1. Barre de notation

Ouvrez le fichier «res/layout/main.xml», ajoutez un composant de barre de notation, quelques vues de texte et un bouton.

Note
La barre d'évaluation contient de nombreuses valeurs configurables. Dans ce cas, la barre de notation contient 4 étoiles, chaque valeur augmente de 1,0, donc, elle contient le minimum de 1,0 (1 étoile) et la valeur maximale de 4,0 (4 étoiles). De plus, il a fait la 2ème étoile (2.0) sélectionnée par défaut.

Fichier: res / layout / main.xml




    

    

    

2. Code Code

À l'intérieur de la méthode de l'activité «onCreate()», attachez un auditeur sur la barre d'évaluation, déclenchez lorsque la valeur d'évaluation est modifiée. Un autre écouteur sur le bouton se déclenche lorsque le bouton est cliqué. Lisez le commentaire du code, il devrait être explicite.

Fichier: MyAndroidAppActivity.java

package com.example.android;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.RatingBar;
import android.widget.RatingBar.OnRatingBarChangeListener;
import android.widget.TextView;
import android.widget.Toast;

public class MyAndroidAppActivity extends Activity {

  private RatingBar ratingBar;
  private TextView txtRatingValue;
  private Button btnSubmit;

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    addListenerOnRatingBar();
    addListenerOnButton();

  }

  public void addListenerOnRatingBar() {

    ratingBar = (RatingBar) findViewById(R.id.ratingBar);
    txtRatingValue = (TextView) findViewById(R.id.txtRatingValue);

    //if rating value is changed,
    //display the current rating value in the result (textview) automatically
    ratingBar.setOnRatingBarChangeListener(new OnRatingBarChangeListener() {
        public void onRatingChanged(RatingBar ratingBar, float rating,
            boolean fromUser) {

            txtRatingValue.setText(String.valueOf(rating));

        }
    });
  }

  public void addListenerOnButton() {

    ratingBar = (RatingBar) findViewById(R.id.ratingBar);
    btnSubmit = (Button) findViewById(R.id.btnSubmit);

    //if click on me, then display the current rating value.
    btnSubmit.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {

            Toast.makeText(MyAndroidAppActivity.this,
                String.valueOf(ratingBar.getRating()),
                    Toast.LENGTH_SHORT).show();

        }

    });

  }
}

3. Demo

Exécutez l'application.

1. Résultat, la 2e étoile est sélectionnée par défaut.

android rating demo1

2. Appuyez sur la 3ème étoile,rating value is changed, affichez la valeur actuellement sélectionnée dans le résultat (textview).

android rating demo2

3. Appuyez sur la 1ère étoile et surclick on the submit button, la valeur actuellement sélectionnée est affichée sous forme de message flottant.

android rating demo3

Télécharger le code source

Téléchargez-le -Android-RatingBar-Example.zip (15 Ko)