Як відобразити діалогове вікно alert в android
AlertDialogs - це спливаючі вікна, які використовуються, щоб повідомити користувачеві про дію, що йому необхідно зробити. AlertDialog також можна використовувати для інших дій, таких як надання списку опцій на вибір або запит про введення унікальних значень на зразок даних для входу або налаштування програми.
кроки
Частина 1 з 4:
Ознайомтеся з AlertDialogs1. Вивчіть базову структуру AlertDialog. AlertDialog - це повідомлення, яке з`являється, коли певний додаток використовує систему Android для розміщення важливої інформації для користувача. AlertDialog також може використовуватися, щоб попередити або повідомити користувача про необхідність змінити важливу настройку. У такому повідомленні / попередженні міститься три компонента діалогового вікна.
- Тема не є обов`язковим, але може бути використаний для додавання простого повідомлення або питання. Він також може містити іконку.
- Основний текст містить повідомлення, список або інші призначені для користувача функції макета.
- Активні кнопки, які використовуються для відправки відповіді користувача в вікно AlertDialog. Кнопка може бути позитивною, негативною або нейтральною. Дане діалогове вікно може містити не більше трьох кнопок, по одній кожного типу.
2. Ознайомтеся з поняттям «клас». Клас - це шаблон, який дозволяє створювати інші об`єкти зі своїми властивостями і поведінкою. Клас AlertDialog є підкласом класу Dialog, який має свої унікальні властивості, що дозволяють відображати до трьох кнопок поряд зі стандартним запитом Dialog.
3. Визначте мета AlertDialog. Яка мета вікна AlertDialog? Які опції будуть надані користувачеві? Чи зможе користувач проігнорувати цей запит? Запишіть, які дії будуть потрібні від користувача, його опції і рішення. Якщо ваше опис виявиться незрозумілим, користувач може не зрозуміти призначення вікна AlertDialog.
4. Запишіть і проиллюстрируйте AlertDialog. Намалюйте, як має виглядати вікно AlertDialog. Перерахуйте список опцій, які б ви хотіли реалізувати, і результат їх виконання. Подумайте уважно над тим, що потрібно від користувача, і переконайтеся, що повідомлення не створює двозначності.
5. Скачайте і встановіть Android SDK. Набір засобів розробки, або SDK, використовується для розробки програмного забезпечення в спеціалізованому середовищі для створення програм і додатків. SDK можна завантажити безпосередньо з сайту розробника Android.
6. Створіть новий проект. Навіть якщо у вас вже є проект, краще вибрати новий, особливо якщо ви хочете створити середовище тестування до додавання коду в основний проект. У рядку меню виберіть "File" (Файл)> «New» (Створити)> «New Project» (Новий проект) і дотримуйтесь інструкцій по створенню нової програми.
Частина 2 з 4:
Напишіть код для діалогу AlertDialog1. Створіть тригер для вікна AlertDialog. AlertDialog повинен бути викликаний дією, виконаним користувачем. Відредагуйте основний макет додатки в файлі «activity_main.xml », щоб додати кнопку для тестування AlertDialog. Кнопку можна створити двома способами. Перемикайтеся між режимами відображення дизайну і коду, натискаючи на кнопки Design або Text в нижній частині головного вікна.
- Android SDK дозволяє редагувати макет, включаючи основний інтерфейс, який можна знайти в папці «Layout» (Макет) ієрархії проектів, використовуючи інтерфейс перетягування для створення кнопки.
- Кнопку також можна самостійно створити в XML-коді, відредагувавши XML-документ. Зверніть увагу, що рядок, що описує дію onclick, використовується для відображення вікна AlertDialog при натисканні кнопки.
android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "Test Alert Dialog" android: id = "@ + id / buttonTest" android: layout_alignParentTop = "true" android: layout_centerHorizontal = "true" android: layout_marginTop = "77dp" android: onclick = "showDialog" />
2. Імпорт клас AlertDialog для доступу до API. Це необхідно, щоб отримати доступ до класу для створення запиту AlertDialog. Клас AlertDialog дозволяє створювати діалогове вікно на екрані, налаштовувати його параметри, відображати заголовки і вміст у вікні Dialog. Щоб імпортувати клас, відкрийте файл «MainActivity.java ». Прокрутіть до верхньої частини файлу і помістіть його серед інших класів, що імпортуються в проект.
import android.app.AlertDialog-
3. Позначте об`єкт кнопки. Об`єкт кнопки допомагає позначити віджет натискання кнопки, як видно з коду XML. В основному java-коді «MainActivity.java »позначає і ініціалізує об`єкт кнопки на початку головного методу, який є основним класом додатки.
private Button buttonAlertDialog-buttonAlertDialog = (Button) findViewByID (R.id.buttonTest)-
4. Слухайте активність кнопки. За допомогою onclickListener можна повідомити програмі, коли користувач натисне кнопку, щоб виконати дію. onclickListener виконується шляхом прослуховування введення користувача в ході натискання на відповідну кнопку. Ми будемо використовувати прослуховування для відкриття діалогу AlertDialog.
buttonAlertDialog.setonclickListener (new View.onclickListener () {@Overridepublic void onclick (View alertView) {})-
5. Опишіть компоненти AlertDialog. В рамках функції onclick вам потрібно буде створити об`єкт AlertDialog і надати йому заголовок, повідомлення і використовувані в запиті типи кнопок.
AlertDialog alertDialog1 = new AlertDialog.Builder (MainActivity.this)
6. Використовуйте функцію setter для створення заголовка. Функція setter дозволяє надати для об`єкта змінну. Це необхідно, щоб уникнути використання глобальних змінних, що може викликати проблеми з продуктивністю. Тема не є обов`язковим, але його можна встановити у верхній частині вікна AlertDialog.
alertDialog1.setTitle ( «Приклад попередження wikiHow»)-
7. Використовуйте функцію setter для відображення повідомлення. Введіть повідомлення з описом того, що повинен зробити користувач.
alertDialog1.setMessage ( "Android надає вам повідомлення для підтвердження.")-
8. Використовуйте функції setter для настройки властивостей кнопки. Позначте кнопки для використання користувачем. Використовуйте комбінацію позитивною, негативною і нейтральною кнопок. Використовуйте будь-яку комбінацію з трьох типів, але тільки по одній з кожного типу і не більше трьох відразу. Використовуйте функції onclick для позначення відповідної дії при натисканні однієї з трьох кнопок в нижній частині діалогу AlertDialog.
alertDialog1.setPositiveButton ( "OK", new onclickListener () {public void onclick (DialogInterface dialog, int which) {}}).alertDialog1.setNegativeButton ( "OK", new onclickListener () {public void onclick (DialogInterface dialog, int which) {}}).alertDialog1.setNeutralButton ( "OK", new onclickListener () {public void onclick (DialogInterface dialog, int which) {}})-
9. Використовуйте функцію setter для активації фізичної кнопки скасування. Функцію скасування можна присвоїти клавіші «Назад» на самому пристрої Android, що дозволить не натискати ні на одну з кнопок. Якщо ви встановите значення false, кнопка «Назад» на пристрої Android буде ігноруватися.
alertDialog1.setCancelable (true)-
10. Створіть діалогове вікно. Використовуйте це для створення об`єкта AlertDialog. Це необхідно зробити, перш ніж можна AlertDialog на екрані.
alertDialog1.create ()-
11. Відкрийте діалогове вікно. Як тільки об`єкт буде створений, використовуйте цю дію, щоб відобразити AlertDialog на екрані.
alertDialog1.show ()-
Частина 3 з 4:
Напишіть код для списку AlertDialog1. створіть масив. Використовуйте один з трьох типів списків. Якщо ви хочете додати опції з декількома варіантами відповідей, замість функції setMessage використовуйте список. Ваш список повинен мати масив, що складається з переліку доступних опцій. Список буде використовувати масив для відображення доступних опцій.
final CharSequence [] items = { "Змінити", "Оцінити", "Поділитися", "Пов`язане"}-
2. Створіть список AlertDialog. Використовуйте setItems для надання списку опцій на вибір. Це вікно з`явиться у вигляді списку перемикачів для перевірки. Для цієї функції потрібно вибір з безлічі параметрів і onclickListener для подання введення користувача.
dialog.setItems (items, new DialogInterface.onclickListener () {public void onclick (DialogInterface dialog, int item) {// Помістіть результат виконання дій в цю функцію // Ціла змінна Item відповідає за положення покажчика обраного елемента}})-
3. Створіть список з кількома варіантами вибору. Використовуйте setMultiChoiceItems, якщо хочете, щоб користувач міг вибрати кілька варіантів. Ці опції будуть позначені відзначаються полями.
dialog.setMultiChoiceItems (items, null, new DialogInterface.OnMultiChoiceClickListener () {public void onclick (DialogInterface dialog, int item, boolean isChecked) {if (isChecked) // Якщо є відмічені поля // Item відповідає за положення покажчика обраного елемента}})-
4. Створіть список, який допускає вибір тільки одного варіанту. Використовуйте setSingleChoiceItems, якщо хочете, щоб користувач міг вибрати тільки один варіант. Ці опції будуть позначені перемикачем, який представляє собою набір гуртків з точкою всередині обраного елемента.
dialog.setSingleChoiceItems (items, -1, new DialogInterface.OnMultiChoiceClickListener () {public void onclick (DialogInterface dialog, int item) {if (isChecked) // Якщо є відмічені поля // Item відповідає за положення покажчика обраного елемента}})-
Частина 4 з 4:
Створіть користувацький AlertDialog1. Створіть власний макет. Призначений для користувача AlertDialog дозволяє створювати макет з власними параметрами і запитувати дані, які можна використовувати для отримання інформації для входу користувача в систему, зміни налаштувань і багато чого іншого. Новий макет буде створений у форматі XML. Деякі Android SDK надають можливість використовувати функції перетягування для швидкого створення макета, який автоматично перетворюється в XML. У рядку меню у верхній частині вікна виберіть «File» (Файл)> «New» (Створити)> «XML»> «Layout XML File» (Файл макета XML). Дайте файлу макета ім`я, а потім натисніть Finish (Готово). Ваш новий макет з`явиться на головній панелі.
2. Додайте на макет віджети і інші елементи. Елементи можна додати двома способами. Відкрийте файл макета через ієрархію проекту в лівій частині вікна. Потім зверніться за наступним шляхом: «> App> src> main> res> layout ».
3. Створіть новий клас Java. Новий клас дозволить відокремити код для вашого призначеного для користувача макета оповіщення. Натисніть «File» (Файл)> «New» (Створити)> «Java Class» (Клас Java). Введіть ім`я нового Java-класу і натисніть OK. Для цього прикладу ми назвемо цей клас «CustomDialogExample».
4. Імпорт Dialog Fragment. Dialog Fragment забезпечує максимальну сумісність з різними версіями ОС Android.
import android.support.v4.app.DialogFragment-
public class CustomDialogExample extends DialogFragment
5. Створіть клас layout inflater і View-елемент. Layout Inflater перетворює файл XML макета в View-елемент. View-елемент є базовою структурою для елементів призначеного для користувача інтерфейсу на прямокутному просторі екрану, а також малює об`єкти і віджети на екрані.
LayoutInflater inflater-View customView-
6. Створіть власний макет діалогу. Він повинен бути загальнодоступним, щоб до нього можна було отримати доступ з будь-якої частини програми, і повертати об`єкт Dialog. Він буде приймати об`єкт Bundle.
public Dialog onCreateDialog (Bundle savedInstanceState) {}
7. Наповніть макет з призначеного для користувача макета XML. Після створення об`єктів LayoutInflater і View наповніть макет і витягніть призначений для користувача макет для View-елемента з функції onCreateDialog.
inflater = getActivity ().getLayoutInflater () - customView = inflater.inflate (R.layout.dialog_custom_background, null)-
8. Створіть власний AlertDialog. У функції onCreateDialog використовуйте конструктор AlertDialog для створення макета.
AlertDialog.Builder builder = new AlertDialog.Builder (getActivity ()) -}}
builder.setView (customView).setPositiveButton ( "OK", new onclickListener () {public void onclick (DialogInterface dialog, int which) {}})-
9. Поверніть призначений для користувача AlertDialog. Оскільки ми знаходимося не в фокусі додатки, завершите функцію onCreateDialog, повернувшись з новим AlertDialog.
return builder.create ()-
10. Викличте призначений для користувача AlertDialog з головного методу. Вам потрібно буде викликати свою функцію з іншого місця, наприклад з головного методу додатки. Для цього прикладу ми назве цю публічну функцію customAlertDialogExample, яка буде приймати View-елемент.
public void customAlertDialogExample (View customView) {customDialogExample dialog = new CustomDialogExample () - dialog.show (getSupportFragmentManager (), "MyCustomAlertDialog") -}
Поради
- Якщо якийсь компонент не може бути викликаний, SDK відзначить це місце червоним текстом. При натисканні на текст SDK запропонує вам імпортувати відповідну бібліотеку в проект. затисніть Alt+↵ Enter, щоб додати бібліотеку до проекту.