AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Title");
builder.setItems(items, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
Toast.makeText(getApplicationContext(), items[item], Toast.LENGTH_SHORT).show();
}
});
AlertDialog alert = builder.create();
Я использую приведенный выше код для отображения диалогового окна оповещений. По умолчанию он заполняет экран шириной и wrap_content по высоте.
Как я могу контролировать ширину и высоту диалогового окна предупреждения по умолчанию?
Я пробовал:Как контролировать ширину и высоту диалогового окна Alert Dial по умолчанию в Android?
alert.getWindow().setLayout(100,100); // It didn't work.
Как получить Params макета на окне предупреждения и вручную установить ширину и высоту?
Это может работать, но я не хочу, чтобы добавить другую деятельность. Я опубликовал решение, которое я использовал. Спасибо. – sat 2010-12-15 07:21:55
Да, приведенный выше метод также работает для отображения элементов в всплывающем стиле или говорит о стиле диалогового окна предупреждения. Просто попробовал это в одном из проектов. – sat 2010-12-15 10:28:20
Просто сравнили 2 способа, 1. С AlertDialog.builder и еще 2. actvity с темой Dialog, второе - лучшее решение, только недостаток, если нужно отправить некоторые результаты обратно в фоновый вид, нужно использовать startActivityForResult, поскольку элементы (просмотров) в фоновом режиме недоступны. – sat 2010-12-16 11:11:30