レイティングバーとは下の写真のように、レートを星の点灯で表すためのビューです。
用途としてはなにかの評価を行うような場合に使います。
というわけで今回はレイティングバーの使い方についてご紹介します。
詳細はつづきからどうぞ。
レイティングバーの定義
まずはレイアウトファイルにレイティングバーを定義しましょう。
以下のようなコードをレイアウトファイルに追記します。
<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(); } }