Учимся работать с Rating Bar
Главная » Учимся работать с Rating Bar

Сегодня мы научимся работать с таким элементом Android интерфейса, как Rating Bar. Rating Bar служит для того, чтобы разработчики приложений подсовывали его под нос своим пользователям с просьбой оценить приложение. Уверен, всем нам этот элемент Android интерфейса до боли знаком. А теперь мы научимся с ним обращаться и тоже будем пихать его в наши приложения.

Создаем новый проект в Android Studio. Приложение будет состоять из заголовка, элемента Rating Bar, в котором будет выбираться рейтинг, а также еще одного элемента TextView, в котором будет постоянно писаться, сколько звезд в рейтинге выбрано на данный момент. Начнем с настройки рабочего экрана. Открываем файл activity_main.xml и добавляем туда 2 TextView и Rating Bar:

<?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/rating"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:text="Работаем с Rating Bar"
 android:layout_gravity="center"
 android:textSize="12pt"/>
 <RatingBar
 android:id="@+id/ratingBar"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:numStars="5"
 android:stepSize="1.0"
 android:rating="0.0"
 android:layout_gravity="center"/>
 <TextView
 android:id="@+id/ResText"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:text="Выбрано звезд : "
 android:layout_gravity="center"
 android:textSize="12pt"/>
 </LinearLayout>

Наше приложение получило вот такой интерфейс:

Вид окна приложения

Как видите, в коде элемента Rating Bar все довольно понятно. Команды:

- numStars="" - указывает количество звезд, которые будут в Rating Bar. Мы указали их 5, можете указать больше или меньше, как хотите;

stepSize="" в этой строке мы указываем с каким шагом можно делать выбор звезд, то есть, с шагом в одну звезду (1), в пол звезды (0,5), две - 2 и так далее. В нашем примере указано шаг в 1 звезду;

- rating - здесь мы указываем, сколько звезд в Rating Bar будет выбрано по умолчанию. Выставим 2 - две звездочки уж будут выбраны при запуске, приложения, 1 - одна выбрана. У нас 0 - ни одной выбранной.

Ну здесь все понятно, теперь идем в файл MainAtivity.java и делаем тут основную работу с помощью этого кода:

import android.app.Activity;
import android.os.Bundle;
import android.widget.RatingBar;
import android.widget.RatingBar.OnRatingBarChangeListener;
import android.widget.TextView;

public class MainActivity extends Activity {

 //Объявляем использование RatingBar и TextView:
 private RatingBar mRatingBar;
 private TextView mRatingText;


 @Override
 public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);

 //Связываемся с созданными в activity_main.xml элементами:
 mRatingBar = (RatingBar) findViewById(R.id.ratingBar);
 mRatingText = (TextView) findViewById(R.id.ResText);

 //Добавляем слушателя изменения состояний Rating Bar:
 addListenerOnRatingBar();
 }

 //Описываем работу слушателя изменения состояний Rating Bar:
 public void addListenerOnRatingBar() {

 //При смене значения рейтинга в нашем элементе Rating Bar,
 //это изменение будет отображаться в элементе TextView
 mRatingBar.setOnRatingBarChangeListener(new OnRatingBarChangeListener() {
 public void onRatingChanged(RatingBar ratingBar, float rating,
 boolean fromUser) {
 //Присваиваем элементу TextView текстовое значение, 
 //которое указано в скобках и добавляем значение из RatingBar:
 mRatingText.setText("Выбрано звезд: " + String.valueOf(rating));
 }
 });
 }
}

Мы инициализировали элементы RatingBar и TextView, создали слушателя изменения показаний на рейтинге ListenerOnRatingBar, это значит, что он прослеживает все изменения состояния RatingBar. Далее, в описании метода работы этого слушателя мы указываем, что при смене состояния рейтинга, элементу TextView, находящемуся под рейтингом, присваивается новое значение, которое состояния из двух компонент: текста "Выбрано звезд " и значения показания рейтинга, преобразованного в строку, текст, командой String.valueOf(rating)

Запускаем приложение и смотрим на результат:

рабочее приложение с панелью рейтинга

Все работает, отлично, теперь пользователей наших будущих приложений ничто не спасет от вечных всплывающих окон в просьбой оценить приложение :).

Категория: Уроки программирования | Просмотров: 834 | Добавил: Oleg | Теги: Rating Bar, основы работы с Rating Bar, Android программирование | Рейтинг: 5.0/1
Всего комментариев: 0
avatar