Android評価バーの例
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番目の星がデフォルトで選択されます。
{空} 2。 3番目の星をタッチすると
評価値が変更
され、現在の選択値が結果(テキストビュー)に表示されます。
{空} 3。 1番目の星をタッチし、
送信ボタン
をクリックすると、現在選択されている値がフローティングメッセージとして表示されます。
ソースコードをダウンロードする
ダウンロードする –
Android-RatingBar-Example.zip
(15 KB)
参考文献
RatingBar JavaDoc]。
http://developer.android.com/resources/tutorials/views/hello-formstuff.html#RatingBar
[Android
RatingBarの例]
リンク://タグ/アンドロイド/[アンドロイド]リンク://タグ/評価/[評価]