AlertDialog или пользовательский диалог - PullRequest
6 голосов
/ 07 февраля 2011

Я занимаюсь разработкой приложения для Android 2.2.

Я хочу показать текст с кнопкой Ok, но хочу добавить свой собственный стиль.

Какой вариант лучше выбрать AlertDialog с пользовательским макетом или Dialog ?

1 Ответ

28 голосов
/ 07 февраля 2011

Я бы пошел на AlertDialog:

  • Проще реализовать.
  • Единственное, что вам нужно сделать, - это XML-макет, а затем раздувать его.

AlertDialog dialog = new AlertDialog.Builder(this)
    .setView(getLayoutInflater().inflate(R.layout.custom_dialog, null))
    .create();

Для прослушивания событий пользовательского интерфейса:

View view = getLayoutInflater().inflate(R.layout.custom_dialog, null);
Button btn = (Button)view.findViewById(R.id.the_id_of_the_button);
btn.setOnClickListener(blah blah);
AlertDialog dialog = new AlertDialog.Builder(this)
    .setView(view)
    .create();

Вы можете проверить в документах для Android :

Класс Dialog является базовым классом для диалогов, но вам следует избегать создания экземпляра Dialog напрямую. Вместо этого используйте один из следующих подклассов:

...