MaterialDialog в приложении Android

После того, как Google представила Material Design на Google I/O 2014 многие разработчики приложений под Android хотят внедрить его в свои приложения.

В англоязычном интернете есть приличное количество туториалов по внедрению Material Design в приложение, но не многие русскоязычные Android-разработчики умеют ими пользоваться. В связи с этим я создал рубрику «Material Design», в которой будут публиковаться обучающие статьи с использованием элементов в стиле Material Design. Кроме support-библиотеки v21, в проектах также будут использоваться библиотеки с GitHub.

В этой статье мы научимся работать с библиотекой MaterialDialog. Ссылки на исходники и проект с примером вы можете найти в конце статьи.

MaterialDialog materialDialog = new MaterialDialog(context);

materialDialog.setTitle("Ваш заголовок");

materialDialog.setMessage("Ваш текст");

Думаю, что код предельно ясен и пояснений не требует. Для того, чтобы показать диалог нужно вызвать метод show():

materialDialog.show();

Чтобы добавить кнопки «OK» и «Отмена» вызываем методы setPositiveButton и setNegativeButton., на вход подаем текст кнопки и OnClickListener:

 materialDialog.setPositiveButton("OK", new View.OnClickListener() {

    @Override
    public void onClick(View v) {
     materialDialog.dismiss();
     Toast.makeText(context, "OK", Toast.LENGTH_LONG).show();
    }
  });

  materialDialog.setNegativeButton("Отмена", new View.OnClickListener() {

    @Override
    public void onClick(View v) {
      materialDialog.dismiss();
      Toast.makeText(context, "Cancel", Toast.LENGTH_LONG).show();
    }
  });

Если вы хотите, чтобы диалог исчезал при нажатии на область вогруг окна, то вызовите метод setCanceledOnTouchOutside и передайте на вход true:

materialDialog.setCanceledOnTouchOutside(true);

Устанавливаем картинку на фон:

materialDialog.setBackgroundResource(R.drawable.background);

Также MaterialDialog’у можно присвоить свой View:

LayoutInflater layoutInflater = getLayoutInflater();

View content = layoutInflater.inflate(R.layout.custom_layout, null); materialDialog.setContentView(content);

Закрываем диалог

materialDialog.dismiss();

Библиотека на GitHub: MaterialDialog.
Исходники примера: MaterialDialog.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Ваш комментарий будет опубликован после модерации