Создание всплывающих подсказок
Всплывающие подсказки часто используются в приложениях для подтверждения действий. В примере подсказка предлагает закрыть приложение или отменить действие. Используем приложение из предыдущего урока с двумя кнопками. Изменим название одной кнопки на «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 позволяет динамически обновлять отображаемое значение рейтинга. Подключайте необходимые библиотеки и проверяйте правильность написания имён переменных и функций.