Як відобразити діалогове вікно alert в android

AlertDialogs - це спливаючі вікна, які використовуються, щоб повідомити користувачеві про дію, що йому необхідно зробити. AlertDialog також можна використовувати для інших дій, таких як надання списку опцій на вибір або запит про введення унікальних значень на зразок даних для входу або налаштування програми.

кроки

Частина 1 з 4:
Ознайомтеся з AlertDialogs
  1. 904354 1
1. Вивчіть базову структуру AlertDialog. AlertDialog - це повідомлення, яке з`являється, коли певний додаток використовує систему Android для розміщення важливої ​​інформації для користувача. AlertDialog також може використовуватися, щоб попередити або повідомити користувача про необхідність змінити важливу настройку. У такому повідомленні / попередженні міститься три компонента діалогового вікна.
  • Тема не є обов`язковим, але може бути використаний для додавання простого повідомлення або питання. Він також може містити іконку.
  • Основний текст містить повідомлення, список або інші призначені для користувача функції макета.
  • Активні кнопки, які використовуються для відправки відповіді користувача в вікно AlertDialog. Кнопка може бути позитивною, негативною або нейтральною. Дане діалогове вікно може містити не більше трьох кнопок, по одній кожного типу.
  • 904354 2
    2. Ознайомтеся з поняттям «клас». Клас - це шаблон, який дозволяє створювати інші об`єкти зі своїми властивостями і поведінкою. Клас AlertDialog є підкласом класу Dialog, який має свої унікальні властивості, що дозволяють відображати до трьох кнопок поряд зі стандартним запитом Dialog.
  • 904354 3
    3. Визначте мета AlertDialog. Яка мета вікна AlertDialog? Які опції будуть надані користувачеві? Чи зможе користувач проігнорувати цей запит? Запишіть, які дії будуть потрібні від користувача, його опції і рішення. Якщо ваше опис виявиться незрозумілим, користувач може не зрозуміти призначення вікна AlertDialog.
  • 904354 4
    4. Запишіть і проиллюстрируйте AlertDialog. Намалюйте, як має виглядати вікно AlertDialog. Перерахуйте список опцій, які б ви хотіли реалізувати, і результат їх виконання. Подумайте уважно над тим, що потрібно від користувача, і переконайтеся, що повідомлення не створює двозначності.
  • 904354 5
    5. Скачайте і встановіть Android SDK. Набір засобів розробки, або SDK, використовується для розробки програмного забезпечення в спеціалізованому середовищі для створення програм і додатків. SDK можна завантажити безпосередньо з сайту розробника Android.
  • 904354 6
    6. Створіть новий проект. Навіть якщо у вас вже є проект, краще вибрати новий, особливо якщо ви хочете створити середовище тестування до додавання коду в основний проект. У рядку меню виберіть "File" (Файл)> «New» (Створити)> «New Project» (Новий проект) і дотримуйтесь інструкцій по створенню нової програми.
  • Частина 2 з 4:
    Напишіть код для діалогу AlertDialog
    1. 904354 7
    1. Створіть тригер для вікна 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" />
  • 904354 8
    2. Імпорт клас AlertDialog для доступу до API. Це необхідно, щоб отримати доступ до класу для створення запиту AlertDialog. Клас AlertDialog дозволяє створювати діалогове вікно на екрані, налаштовувати його параметри, відображати заголовки і вміст у вікні Dialog. Щоб імпортувати клас, відкрийте файл «MainActivity.java ». Прокрутіть до верхньої частини файлу і помістіть його серед інших класів, що імпортуються в проект.
    import android.app.AlertDialog-
  • Цей клас буде корисний для всього програми. Не забудьте додати його в початок ієрархії коду.
  • 904354 9
    3. Позначте об`єкт кнопки. Об`єкт кнопки допомагає позначити віджет натискання кнопки, як видно з коду XML. В основному java-коді «MainActivity.java »позначає і ініціалізує об`єкт кнопки на початку головного методу, який є основним класом додатки.
    private Button buttonAlertDialog-buttonAlertDialog = (Button) findViewByID (R.id.buttonTest)-
  • 904354 10
    4. Слухайте активність кнопки. За допомогою onclickListener можна повідомити програмі, коли користувач натисне кнопку, щоб виконати дію. onclickListener виконується шляхом прослуховування введення користувача в ході натискання на відповідну кнопку. Ми будемо використовувати прослуховування для відкриття діалогу AlertDialog.
    buttonAlertDialog.setonclickListener (new View.onclickListener () {@Overridepublic void onclick (View alertView) {})-
  • 904354 11
    5. Опишіть компоненти AlertDialog. В рамках функції onclick вам потрібно буде створити об`єкт AlertDialog і надати йому заголовок, повідомлення і використовувані в запиті типи кнопок.
  • Створіть об`єкт вікна оповіщення і налаштуйте конструктор на звернення до нового об`єкту і створення вікна.
  • AlertDialog alertDialog1 = new AlertDialog.Builder (MainActivity.this)
  • 904354 12
    6. Використовуйте функцію setter для створення заголовка. Функція setter дозволяє надати для об`єкта змінну. Це необхідно, щоб уникнути використання глобальних змінних, що може викликати проблеми з продуктивністю. Тема не є обов`язковим, але його можна встановити у верхній частині вікна AlertDialog.
    alertDialog1.setTitle ( «Приклад попередження wikiHow»)-
  • 904354 13
    7. Використовуйте функцію setter для відображення повідомлення. Введіть повідомлення з описом того, що повинен зробити користувач.
    alertDialog1.setMessage ( "Android надає вам повідомлення для підтвердження.")-
  • 904354 14
    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) {}})-
  • 904354 15
    9. Використовуйте функцію setter для активації фізичної кнопки скасування. Функцію скасування можна присвоїти клавіші «Назад» на самому пристрої Android, що дозволить не натискати ні на одну з кнопок. Якщо ви встановите значення false, кнопка «Назад» на пристрої Android буде ігноруватися.
    alertDialog1.setCancelable (true)-
  • 904354 16
    10. Створіть діалогове вікно. Використовуйте це для створення об`єкта AlertDialog. Це необхідно зробити, перш ніж можна AlertDialog на екрані.
    alertDialog1.create ()-
  • 904354 17
    11. Відкрийте діалогове вікно. Як тільки об`єкт буде створений, використовуйте цю дію, щоб відобразити AlertDialog на екрані.
    alertDialog1.show ()-
  • Частина 3 з 4:
    Напишіть код для списку AlertDialog
    1. 904354 18
    1. створіть масив. Використовуйте один з трьох типів списків. Якщо ви хочете додати опції з декількома варіантами відповідей, замість функції setMessage використовуйте список. Ваш список повинен мати масив, що складається з переліку доступних опцій. Список буде використовувати масив для відображення доступних опцій.
    final CharSequence [] items = { "Змінити", "Оцінити", "Поділитися", "Пов`язане"}-
  • 904354 19
    2. Створіть список AlertDialog. Використовуйте setItems для надання списку опцій на вибір. Це вікно з`явиться у вигляді списку перемикачів для перевірки. Для цієї функції потрібно вибір з безлічі параметрів і onclickListener для подання введення користувача.
    dialog.setItems (items, new DialogInterface.onclickListener () {public void onclick (DialogInterface dialog, int item) {// Помістіть результат виконання дій в цю функцію // Ціла змінна Item відповідає за положення покажчика обраного елемента}})-
  • 904354 20
    3. Створіть список з кількома варіантами вибору. Використовуйте setMultiChoiceItems, якщо хочете, щоб користувач міг вибрати кілька варіантів. Ці опції будуть позначені відзначаються полями.
    dialog.setMultiChoiceItems (items, null, new DialogInterface.OnMultiChoiceClickListener () {public void onclick (DialogInterface dialog, int item, boolean isChecked) {if (isChecked) // Якщо є відмічені поля // Item відповідає за положення покажчика обраного елемента}})-
  • 904354 21
    4. Створіть список, який допускає вибір тільки одного варіанту. Використовуйте setSingleChoiceItems, якщо хочете, щоб користувач міг вибрати тільки один варіант. Ці опції будуть позначені перемикачем, який представляє собою набір гуртків з точкою всередині обраного елемента.
    dialog.setSingleChoiceItems (items, -1, new DialogInterface.OnMultiChoiceClickListener () {public void onclick (DialogInterface dialog, int item) {if (isChecked) // Якщо є відмічені поля // Item відповідає за положення покажчика обраного елемента}})-
  • Частина 4 з 4:
    Створіть користувацький AlertDialog
    1. 904354 22
    1. Створіть власний макет. Призначений для користувача AlertDialog дозволяє створювати макет з власними параметрами і запитувати дані, які можна використовувати для отримання інформації для входу користувача в систему, зміни налаштувань і багато чого іншого. Новий макет буде створений у форматі XML. Деякі Android SDK надають можливість використовувати функції перетягування для швидкого створення макета, який автоматично перетворюється в XML. У рядку меню у верхній частині вікна виберіть «File» (Файл)> «New» (Створити)> «XML»> «Layout XML File» (Файл макета XML). Дайте файлу макета ім`я, а потім натисніть Finish (Готово). Ваш новий макет з`явиться на головній панелі.
  • 904354 23
    2. Додайте на макет віджети і інші елементи. Елементи можна додати двома способами. Відкрийте файл макета через ієрархію проекту в лівій частині вікна. Потім зверніться за наступним шляхом: «> App> src> main> res> layout ».
  • 904354 24
    3. Створіть новий клас Java. Новий клас дозволить відокремити код для вашого призначеного для користувача макета оповіщення. Натисніть «File» (Файл)> «New» (Створити)> «Java Class» (Клас Java). Введіть ім`я нового Java-класу і натисніть OK. Для цього прикладу ми назвемо цей клас «CustomDialogExample».
  • 904354 25
    4. Імпорт Dialog Fragment. Dialog Fragment забезпечує максимальну сумісність з різними версіями ОС Android.
    import android.support.v4.app.DialogFragment-
  • Переконайтеся, що метод основного класу поширюється на DialogFragment.
  • public class CustomDialogExample extends DialogFragment
  • 904354 26
    5. Створіть клас layout inflater і View-елемент. Layout Inflater перетворює файл XML макета в View-елемент. View-елемент є базовою структурою для елементів призначеного для користувача інтерфейсу на прямокутному просторі екрану, а також малює об`єкти і віджети на екрані.
    LayoutInflater inflater-View customView-
  • 904354 27
    6. Створіть власний макет діалогу. Він повинен бути загальнодоступним, щоб до нього можна було отримати доступ з будь-якої частини програми, і повертати об`єкт Dialog. Він буде приймати об`єкт Bundle.
    public Dialog onCreateDialog (Bundle savedInstanceState) {}
  • 904354 28
    7. Наповніть макет з призначеного для користувача макета XML. Після створення об`єктів LayoutInflater і View наповніть макет і витягніть призначений для користувача макет для View-елемента з функції onCreateDialog.
    inflater = getActivity ().getLayoutInflater () - customView = inflater.inflate (R.layout.dialog_custom_background, null)-
  • 904354 29
    8. Створіть власний AlertDialog. У функції onCreateDialog використовуйте конструктор AlertDialog для створення макета.
    AlertDialog.Builder builder = new AlertDialog.Builder (getActivity ()) -}}
  • Додайте кнопку, щоб мати можливість закрити AlertDialog.
  • builder.setView (customView).setPositiveButton ( "OK", new onclickListener () {public void onclick (DialogInterface dialog, int which) {}})-
  • 904354 30
    9. Поверніть призначений для користувача AlertDialog. Оскільки ми знаходимося не в фокусі додатки, завершите функцію onCreateDialog, повернувшись з новим AlertDialog.
    return builder.create ()-
  • 904354 31
    10. Викличте призначений для користувача AlertDialog з головного методу. Вам потрібно буде викликати свою функцію з іншого місця, наприклад з головного методу додатки. Для цього прикладу ми назве цю публічну функцію customAlertDialogExample, яка буде приймати View-елемент.
    public void customAlertDialogExample (View customView) {customDialogExample dialog = new CustomDialogExample () - dialog.show (getSupportFragmentManager (), "MyCustomAlertDialog") -}
  • Поради

    • Якщо якийсь компонент не може бути викликаний, SDK відзначить це місце червоним текстом. При натисканні на текст SDK запропонує вам імпортувати відповідну бібліотеку в проект. затисніть Alt+↵ Enter, щоб додати бібліотеку до проекту.
    Cхоже