レイティングバーを使う


レイティングバーとは下の写真のように、レートを星の点灯で表すためのビューです。

用途としてはなにかの評価を行うような場合に使います。

というわけで今回はレイティングバーの使い方についてご紹介します。
詳細はつづきからどうぞ。

レイティングバーの定義

まずはレイアウトファイルにレイティングバーを定義しましょう。
以下のようなコードをレイアウトファイルに追記します。

<RatingBar
    android:id="@+id/ratingbar"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

このとき指定できる属性は主に以下のようなものがあります。

numStar 最大レート値
rating デフォルトのレート値
stepSize レートのステップサイズ値

上の例では最大レートを3に、デフォルトのレートを2.5にしています。

レートが変更されたことを知るには

レートが変更されたことはOnRatingBarChangeListenerを使って知ることができます。
たとえばレートが変更されたときにToastでレートの値を表示するには以下のようにします。

public class RatingBarSample extends Activity implements RatingBar.OnRatingBarChangeListener {
    /** Called when the activity is first created. */
    RatingBar RatingBar;
    Toast mToast;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        RatingBar = (RatingBar) findViewById(R.id.ratingbar);
        RatingBar.setOnRatingBarChangeListener(this);
    }

    public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromTouch) {
        if (mToast != null) {
            mToast.cancel();
        }
        mToast = Toast.makeText(RatingBarSample.this, "Current Rating is "+RatingBar.getRating(), Toast.LENGTH_LONG);
        mToast.show();
    }
}

One Comment