【Android】RatingBar(評価バー)の使い方を実装例付きで解説
AndroidのRatingBarとは?
実装方法に入る前に、まずRatingBarについて簡単に説明します。RatingBarは、AndroidのAbsSeekBarクラスを継承したUIウィジェットの一つで、ViewGroupやウィンドウ上に星形の評価(レーティング)を表示・入力するために使用されます。アプリのレビュー機能やユーザー満足度アンケートなど、さまざまな場面で活用できる便利なコンポーネントです。
この記事では、AndroidでRatingBarを使用する方法を、実際のコード例とともにステップ形式でわかりやすく解説します。
手順1:新しいプロジェクトを作成する
Android Studioを開き、「File」→「New Project」を選択して、必要事項を入力し、新しいプロジェクトを作成してください。
手順2:レイアウトファイル(res/layout/activity_main.xml)にコードを追加する
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:id="@+id/layout"
android:layout_height="match_parent"
android:orientation="vertical">
<RatingBar
android:id="@+id/rating"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:saveEnabled="true"
android:numStars="5"/>
<Button
android:id="@+id/getRating"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Get Rating "/>
</LinearLayout>
上記のコードでは、RatingBarを宣言し、numStars属性を「5」に設定しています。これにより、最大5つ星までの評価が可能になります。あわせて、評価値を取得するためのボタンも配置しています。ユーザーが星をドラッグして評価を選択し、ボタンをクリックすると、その評価値がToastとして画面に表示される仕組みです。
手順3:MainActivity.javaにコードを追加する
package com.example.andy.myapplication;
import android.annotation.TargetApi;
import android.os.Build;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.RatingBar;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
@TargetApi(Build.VERSION_CODES.O)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button getRating = findViewById(R.id.getRating);
final RatingBar ratingBar = findViewById(R.id.rating);
getRating.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String rating = "Rating is :" + ratingBar.getRating();
Toast.makeText(MainActivity.this, rating, Toast.LENGTH_LONG).show();
}
});
}
}
上記のコードでは、ボタンにOnClickListenerを設定しています。ボタンがクリックされると、次のようにgetRating()メソッドを呼び出して、RatingBarで選択された現在の評価値を取得します。
String rating = "Rating is :" + ratingBar.getRating();
手順4:Manifest.xmlは変更不要
このサンプルでは、マニフェストファイル(manifest.xml)に特別な設定を追加する必要はありません。
アプリを実行して動作を確認しよう
それでは、実際にアプリを実行してみましょう。ここでは、AndroidスマートフォンをPCに接続しているものとします。Android Studioでプロジェクト内のアクティビティファイルを開き、ツールバーの実行アイコン
をクリックします。表示された選択肢から接続済みのモバイルデバイスを選ぶと、実機の画面にアプリが起動します。

上の画像はアプリ起動直後の初期画面です。この状態で、ユーザーはRatingBar上の星をドラッグして評価を選択し、ボタンをタップします。

上の画像は評価「3」を選択した場合の結果です。Toastメッセージに「Rating is : 3.0」と正しく表示されていることが確認できます。

こちらは評価「3.5」を選択した場合の結果です。RatingBarはデフォルトで半分単位(stepSize 0.5)での評価に対応しているため、小数点付きの評価値も問題なく取得・表示できています。
このように、RatingBarを使えば、少ないコード量で直感的な評価入力UIを簡単に実装できます。ぜひご自身のアプリにも取り入れてみてください。
-
【Android】スナックバー(Snackbar)の使い方をステップごとに解説
このチュートリアルでは、Androidアプリでスナックバー(Snackbar)を使用する方法を、サンプルコードとともに段階的に解説します。スナックバーは画面下部に短いメッセージを一時的に表示できるUIコンポーネントで、Toastとは異なり「再試行(RETRY)」などのアクションボタンを組み込めるのが大きな特徴です。 手順1:新規プロジェクトを作成する Android Studioを起動し、メニューから「File」→「New Project」を選択します。必要な項目をすべて入力して、新しいプロジェクトを作成しましょう。 手順2:レイアウトファイル(activity_main.xml)を編集する
-
【Android】NavigationViewの実装方法をステップごとに解説
この記事では、AndroidアプリでNavigationView(ナビゲーションビュー)を使用してドロワーメニューを実装する方法を、ステップごとに詳しく解説します。ハンバーガーアイコンから開閉できるサイドメニューは、多くのアプリで採用されている定番のUIです。ステップ1:新しいプロジェクトを作成するAndroid Studioを開き、File → New Project を選択して、必要な情報を入力し新しいプロジェクトを作成します。テンプレートには「Navigation Drawer Activity」を選ぶと、後の作業がスムーズになります。ステップ2:activity_main.xml にコ