■レーティングバー


レーティングバーとは、なんなんだろうか?他のプログラムではなかなか聞いたことがないものです。
なんというか評価とかの所についている星だそうです。

こんな感じの星よくありますよね。



この画像は下のプログラムを動かした時の様子です。
画面のリソースにRatingBarとTextViewを張り付けて実行してください。
ユーザーがレーティングバーを指でなぞってレートを変更することができます。


import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {
    android.widget.RatingBar rb;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        rb=(android.widget.RatingBar)findViewById(R.id.ratingBar);
        //レートが変更された場合の処理
        rb.setOnRatingBarChangeListener(new android.widget.RatingBar.OnRatingBarChangeListener() {
            @Override
            public void onRatingChanged(android.widget.RatingBar ratingBar, float rating, boolean fromUser) {
                android.widget.TextView tv=(android.widget.TextView)findViewById(R.id.textView);
                //現在のレートをテキストビューに表示する
                tv.setText(rb.getRating()+"");

            }
        });
        //星の数を5分割に設定
        rb.setNumStars(5);

        //ユーザーにより変更できるようにする trueで変更できない
        rb.setIsIndicator(false);

        //変更できるステップを1に設定
        rb.setStepSize((float)1);

        //レートを4に設定
        rb.setRating((float)4);
    }


setNumStarsで設定した値は星の数ではなくて、表示されている星の列を分割する数ですので注意が必要です。
setIsIndicator(false)をtrueにすることによって画面にふれても変更できなくすることができます。




▲トップページ > android