Пример строки рейтинга Android
В Android вы можете использовать «http://developer.android.com/reference/android/widget/RatingBar.html[android.widget.RatingBar]», чтобы отобразить компонент панели рейтинга в виде значка звездочки. Пользователь может касаться, перетаскивать или нажимать на звезды, чтобы легко установить значение рейтинга.
В этом уроке мы покажем вам, как использовать XML для отображения строки рейтинга, нескольких просмотров текста и кнопки. Когда пользователь нажимает на звездочку в строке рейтинга, выбранное значение рейтинга будет отображаться в текстовом окне. И, если пользователь нажимает на кнопку, выбранное значение рейтинга будет отображаться как плавающее сообщение (тостовое сообщение).
P.S This project is developed in Eclipse 3.7, and tested with Android 2.3.3.
1. Рейтинговая панель
Откройте файл «res/layout/main.xml», добавьте компонент панели рейтинга, несколько текстовых просмотров и кнопку.
Note
Рейтинговая полоса содержит множество настраиваемых значений. В этом случае строка рейтинга содержит 4 звезды, каждая из которых увеличивает значение 1,0, поэтому она содержит минимум 1,0 (1 звезда) и максимальное значение 4,0 (4 звезды). Кроме того, по умолчанию выбрана вторая звезда (2.0).
Файл: res / layout / main.xml
2. Код код
Внутри метода действия «onCreate()
» прикрепите слушателя к строке рейтинга, срабатывайте при изменении значения рейтинга. Другой слушатель на кнопке, срабатывает при нажатии кнопки. Прочитайте комментарий к коду, он должен быть понятен.
Файл: MyAndroidAppActivity.java
package com.example.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(); } }); } }
3. Demo
Запустите приложение.
1. Результат, 2-я звезда выбрана по умолчанию.
2. Коснитесь третьей звездыrating value is changed, отобразите текущее выбранное значение в результате (текстовое поле).
3. Коснитесь 1-й звезды иclick on the submit button, текущее выбранное значение отображается в виде плавающего сообщения.
Скачать исходный код
Скачать -Android-RatingBar-Example.zip (15 КБ)