Androidでは、「http://developer.android.com/reference/android/widget/RatingBar.html[android.widget.RatingBar」を使用して、評価バーコンポーネントを星アイコンで表示できます。ユーザは、星をタッチしたり、ドラッグしたり、クリックしたりして、評価値を容易に設定することができる。

このチュートリアルでは、XMLを使用して評価バー、テキストビュー、およびボタンを表示する方法を説明します。ユーザーが評価バーの星をクリックすると、選択した評価値がテキストビューに表示されます。ユーザーがボタンをクリックすると、選択した評価値がフローティングメッセージ(トーストメッセージ)として表示されます。


P.SこのプロジェクトはEclipse 3.7で開発され、Android 2.3.3.

でテストされています

1.評価バー



res/layout/main.xml

“ファイルを開き、評価バーコンポーネントを追加し、テキストビュー数を少なくし、ボタンをクリックします。


File:res/layout/main.xml

<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout__width="fill__parent"
    android:layout__height="fill__parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/lblRateMe"
        android:layout__width="wrap__content"
        android:layout__height="wrap__content"
        android:text="Rate Me"
        android:textAppearance="?android:attr/textAppearanceMedium"/>

    <RatingBar
        android:id="@+id/ratingBar"
        android:layout__width="wrap__content"
        android:layout__height="wrap__content"
        android:numStars="4"
        android:stepSize="1.0"
        android:rating="2.0"/>

    <Button
        android:id="@+id/btnSubmit"
        android:layout__width="wrap__content"
        android:layout__height="wrap__content"
        android:text="Submit"/>

    <LinearLayout
        android:id="@+id/linearLayout1"
        android:layout__width="match__parent"
        android:layout__height="wrap__content" >

        <TextView
            android:id="@+id/lblResult"
            android:layout__width="wrap__content"
            android:layout__height="wrap__content"
            android:text="Result : "
            android:textAppearance="?android:attr/textAppearanceLarge"/>

        <TextView
            android:id="@+id/txtRatingValue"
            android:layout__width="wrap__content"
            android:layout__height="wrap__content"
            android:text=""
            android:textAppearance="?android:attr/textAppearanceSmall"/>

    </LinearLayout>

</LinearLayout>

2.コードコード

アクティビティ “onCreate()` “メソッドの内部で、評価バーにリスナーを追加し、評価値が変更されたときに起動します。ボタン上の別のリスナー、ボタンがクリックされたときに起動します。コードのコメントを読んで、それは自明でなければなりません。


File:MyAndroidAppActivity.java

package com.mkyong.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();

        }

    });

  }
}

デモ

アプリケーションを実行します。

{空} 1。結果、2番目の星がデフォルトで選択されます。


android rating demo1、title = "android-rating-demo1"、width = 318、height = 480

{空} 2。 3番目の星をタッチすると

評価値が変更

され、現在の選択値が結果(テキストビュー)に表示されます。


android rating demo2、title = "android-rating-demo2"、width = 318、height = 480

{空} 3。 1番目の星をタッチし、

送信ボタン

をクリックすると、現在選択されている値がフローティングメッセージとして表示されます。


android rating demo3、title = "android-rating-demo3"、width = 318、height = 480

ソースコードをダウンロードする

ダウンロードする –

Android-RatingBar-Example.zip

(15 KB)

参考文献

RatingBarの例]

リンク://タグ/アンドロイド/[アンドロイド]リンク://タグ/評価/[評価]