Пример строки рейтинга Android

Пример строки рейтинга 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-я звезда выбрана по умолчанию.

android rating demo1

2. Коснитесь третьей звездыrating value is changed, отобразите текущее выбранное значение в результате (текстовое поле).

android rating demo2

3. Коснитесь 1-й звезды иclick on the submit button, текущее выбранное значение отображается в виде плавающего сообщения.

android rating demo3

Скачать исходный код

Скачать -Android-RatingBar-Example.zip (15 КБ)