Создание Alert Dialog очень просто. В этом уроке я расскажу вам как создавать различные оповещения в виде Alert Dialog с одной кнопкой (ДА), две кнопки (ДА и НЕТ) и три кнопки (ДА, НЕТ и ОТМЕНА).
Подготовительные работы
Шаг 1.
В папке res/ вы должны создать drawable с именем drawable(папка).
Шаг 2.
Добавить в папку drawable 3 изображения которые будут отображатся на Alert окнах в качестве предупреждений.
Шаг 3.
Создать Activity -> MyActivity и View к этому Activity.
В результате ваше приложение должно выглядеть так:
Сама View:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Показать Alert" android:onClick="showAlertWithOneButton" android:id="@+id/button" android:layout_gravity="center"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Показать Alert с двумя кнопками" android:onClick="showAlertWithTwoButton" android:id="@+id/button1" android:layout_gravity="center"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Показать Alert с тремя кнопками" android:onClick="showAlertWithThreeButton" android:id="@+id/button2" android:layout_gravity="center"/> </LinearLayout>
Alert Dialog с одной кнопкой
Следующий код создает простое предупреждение с одной кнопкой.
public void showAlertWithOneButton(View v){ AlertDialog alertDialog = new AlertDialog.Builder(MyActivity.this).create(); // Указываем Title alertDialog.setTitle("Информационое сообщение"); // Указываем текст сообщение alertDialog.setMessage("Welcome to devcolibri.com"); // задаем иконку alertDialog.setIcon(R.drawable.tick); // Обработчик на нажатие OK alertDialog.setButton("OK", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { // Код который выполнится после закрытия окна Toast.makeText(getApplicationContext(), "Вы нажали OK", Toast.LENGTH_SHORT).show(); } }); // показываем Alert alertDialog.show(); }
Результат:
Alert Dialog с двумя кнопками
Следующий код создает вопросительное предупреждение об удалении файла с двумя кнопками.
public void showAlertWithTwoButton(View v){ AlertDialog.Builder alertDialog = new AlertDialog.Builder(MyActivity.this); // Указываем Title alertDialog.setTitle("Подтвердить удаление..."); // Указываем текст сообщение alertDialog.setMessage("Вы уверены, что хотите это удалить?"); // задаем иконку alertDialog.setIcon(R.drawable.delete); // Обработчик на нажатие ДА alertDialog.setPositiveButton("ДА", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog,int which) { // Код который выполнится после закрытия окна Toast.makeText(getApplicationContext(), "Вы нажали ДА", Toast.LENGTH_SHORT).show(); } }); // Обработчик на нажатие НЕТ alertDialog.setNegativeButton("НЕТ", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { // Код который выполнится после закрытия окна Toast.makeText(getApplicationContext(), "Вы нажали НЕТ", Toast.LENGTH_SHORT).show(); dialog.cancel(); } }); // показываем Alert alertDialog.show(); }
Результат:
Alert Dialog с тремя кнопками
Следующий код создает вопросительное предупреждение об сохранении файла с тремя кнопками.
public void showAlertWithThreeButton(View v){ AlertDialog.Builder alertDialog = new AlertDialog.Builder(MyActivity.this); // Указываем Title alertDialog.setTitle("Сохранение файла ..."); // Указываем текст сообщение alertDialog.setMessage("Вы хотите сохранить этот файл?"); // задаем иконку alertDialog.setIcon(R.drawable.save); // Обработчик на нажатие ДА alertDialog.setPositiveButton("ДА", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { // User pressed YES button. Write Logic Here Toast.makeText(getApplicationContext(), "Вы нажали ДА", Toast.LENGTH_SHORT).show(); } }); // Обработчик на нажатие НЕТ alertDialog.setNegativeButton("НЕТ", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { // User pressed No button. Write Logic Here Toast.makeText(getApplicationContext(), "Вы нажали НЕТ", Toast.LENGTH_SHORT).show(); } }); // Обработчик на нажатие ОТМЕНА alertDialog.setNeutralButton("ОТМЕНА", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { // User pressed Cancel button. Write Logic Here Toast.makeText(getApplicationContext(), "Вы нажали ОТМЕНА", Toast.LENGTH_SHORT).show(); } }); // показываем Alert alertDialog.show(); }
Результат:
package com.example.AlertDialog; import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.os.Bundle; import android.view.View; import android.widget.Toast; public class MyActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } public void showAlertWithOneButton(View v){ AlertDialog alertDialog = new AlertDialog.Builder(MyActivity.this).create(); // Указываем Title alertDialog.setTitle("Информационое сообщение"); // Указываем текст сообщение alertDialog.setMessage("Welcome to devcolibri.com"); // задаем иконку alertDialog.setIcon(R.drawable.tick); // Обработчик на нажатие OK alertDialog.setButton("OK", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { // Код который выполнится после закрытия окна Toast.makeText(getApplicationContext(), "Вы нажали OK", Toast.LENGTH_SHORT).show(); } }); // показываем Alert alertDialog.show(); } public void showAlertWithTwoButton(View v){ AlertDialog.Builder alertDialog = new AlertDialog.Builder(MyActivity.this); // Указываем Title alertDialog.setTitle("Подтвердить удаление..."); // Указываем текст сообщение alertDialog.setMessage("Вы уверены, что хотите это удалить?"); // задаем иконку alertDialog.setIcon(R.drawable.delete); // Обработчик на нажатие ДА alertDialog.setPositiveButton("ДА", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog,int which) { // Код который выполнится после закрытия окна Toast.makeText(getApplicationContext(), "Вы нажали ДА", Toast.LENGTH_SHORT).show(); } }); // Обработчик на нажатие НЕТ alertDialog.setNegativeButton("НЕТ", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { // Код который выполнится после закрытия окна Toast.makeText(getApplicationContext(), "Вы нажали НЕТ", Toast.LENGTH_SHORT).show(); dialog.cancel(); } }); // показываем Alert alertDialog.show(); } public void showAlertWithThreeButton(View v){ AlertDialog.Builder alertDialog = new AlertDialog.Builder(MyActivity.this); // Указываем Title alertDialog.setTitle("Сохранение файла ..."); // Указываем текст сообщение alertDialog.setMessage("Вы хотите сохранить этот файл?"); // задаем иконку alertDialog.setIcon(R.drawable.save); // Обработчик на нажатие ДА alertDialog.setPositiveButton("ДА", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { // Код который выполнится после закрытия окна Toast.makeText(getApplicationContext(), "Вы нажали ДА", Toast.LENGTH_SHORT).show(); } }); // Обработчик на нажатие НЕТ alertDialog.setNegativeButton("НЕТ", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { // Код который выполнится после закрытия окна Toast.makeText(getApplicationContext(), "Вы нажали НЕТ", Toast.LENGTH_SHORT).show(); } }); // Обработчик на нажатие ОТМЕНА alertDialog.setNeutralButton("ОТМЕНА", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { // Код который выполнится после закрытия окна Toast.makeText(getApplicationContext(), "Вы нажали ОТМЕНА", Toast.LENGTH_SHORT).show(); } }); // показываем Alert alertDialog.show(); } }
ПОХОЖИЕ ПУБЛИКАЦИИ
- None Found
3 комментариев к статье "Android. Как показать Alert Dialog"