vui lòng tham khảo this one
Theo nhà phát triển nền tảng Android Dianne Hackborn trong this nhóm thảo luận bài viết, Dialogs set top chiều rộng bố trí mức Window của họ và chiều cao để wrap_content. Để làm cho hộp thoại lớn hơn, bạn có thể đặt các tham số đó thành FILL_PARENT.
đang Demo:
AlertDialog.Builder adb = new AlertDialog.Builder(this);
Dialog d = adb.setView(new View(this)).create();
// (That new View is just there to have something inside the dialog that can grow big enough to cover the whole screen.)
WindowManager.LayoutParams lp = new WindowManager.LayoutParams();
lp.copyFrom(d.getWindow().getAttributes());
lp.width = WindowManager.LayoutParams.MATCH_PARENT;
lp.height = WindowManager.LayoutParams.MATCH_PARENT;
d.show();
d.getWindow().setAttributes(lp);
Lưu ý rằng các thuộc tính được thiết lập sau khi Dialog được hiển thị. Hệ thống này là khó tính khi chúng được thiết lập. (Tôi đoán rằng công cụ bố cục phải đặt chúng vào lần đầu tiên hộp thoại được hiển thị hoặc một cái gì đó.)
Sẽ tốt hơn nếu bạn mở rộng Theme.Dialog, sau đó bạn sẽ không phải chơi trò chơi đoán về thời điểm gọi setAttributes. (Mặc dù có nhiều công việc hơn để hộp thoại tự động áp dụng một chủ đề tối hoặc ánh sáng thích hợp hoặc chủ đề Holo Honeycomb. Có thể thực hiện theo http://developer.android.com/guide/topics/ui/themes.html#SelectATheme)
Nguồn
2012-01-12 13:52:16