Ответ 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.