Диалог настройки, расширяя диалог или AlertDialog

Я хочу создать пользовательский Dialog. Поскольку мне не нравится его стиль, я хочу иметь округленный прямоугольник, а не острые углы. Я знаю, как реализовать его по теме в AndroidManifest.xml, например, я использую:

android:theme="@style/Theme.CustomDialog"

И Theme.CustomDialog.xml:

1 ответ

В конструкторе вашего класса, который расширяет Dialog call super(context, R.style.CustomDialog);, я делал это много раз, чтобы создавать настраиваемые диалоги с определенными темами.

Однако, если тема является единственной вещью в диалоге, которую вы хотите изменить, вы можете попробовать просто создать экземпляр класса Dialog и передать ему идентификатор темы, например Dialog dialog = new Dialog(context, R.style.CustomDialog);

Пример расширения диалога:

public class MyDialog extends Dialog
{
 public MyDialog(final Context context)
 {
 // Set your theme here
 super(context, R.style.MyDialogTheme);
 // This is the layout XML file that describes your Dialog layout
 this.setContentView(R.layout.myDialogLayout); 
 }
}

Остальная часть кода, который вы добавите в этот класс, будет в значительной степени похожа на то, что вы напишете в классе Activity.

licensed under cc by-sa 3.0 with attribution.