Android: Диалоговые окна и кнопки рейтинга

Создание всплывающих подсказок

Всплывающие подсказки часто используются в приложениях для подтверждения действий. В примере подсказка предлагает закрыть приложение или отменить действие. Используем приложение из предыдущего урока с двумя кнопками. Изменим название одной кнопки на «Alert» и её ID на alert.

Для создания всплывающего окна используем AlertDialog.Builder. Код:

AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Вы хотите закрыть приложение?");
builder.setCancelable(false); // Отмена невозможна
builder.setPositiveButton("Да", (dialog, id) -> finish()); // Закрыть приложение при нажатии "Да"
builder.setNegativeButton("Нет", (dialog, id) -> dialog.cancel()); // Закрыть диалоговое окно при нажатии "Нет"

AlertDialog alert = builder.create();
alert.setTitle("Закрытие приложения");
alert.show();

Необходимые импорты: import android.support.v7.app.AlertDialog; и import android.content.DialogInterface;. Без них код не скомпилируется.

Реализация кнопки рейтинга

Для создания кнопки рейтинга используем RatingBar. Разместим его на экране и добавим TextView для отображения текущего значения рейтинга. Установим параметры RatingBar, такие как размер и цвет текста.

В коде потребуются переменные для RatingBar и TextView:

RatingBar ratingBar;
TextView textView;

Найдём RatingBar и TextView по их ID:

ratingBar = findViewById(R.id.ratingBar);
textView = findViewById(R.id.textView);

Добавим обработчик изменения рейтинга:

ratingBar.setOnRatingBarChangeListener((ratingBar, rating, fromUser) -> {
    textView.setText("Значение: " + String.valueOf(rating));
});

Установим начальное значение рейтинга, количество звёзд и шаг изменения:

ratingBar.setNumStars(5);
ratingBar.setStepSize(1.0f);
ratingBar.setRating(5.0f);

Добавьте необходимые импорты для RatingBar и TextView. Если элементы интерфейса не отображаются корректно, проверьте настройки ConstraintLayout или используйте Autoconnect.

В уроке рассмотрено создание всплывающих окон с помощью AlertDialog.Builder и реализация кнопки рейтинга с помощью RatingBar. setOnRatingBarChangeListener позволяет динамически обновлять отображаемое значение рейтинга. Подключайте необходимые библиотеки и проверяйте правильность написания имён переменных и функций.

Что будем искать? Например,программа