Tôi đang tìm kiếm một cách để có được kích thước của một hộp thoại tùy chỉnh. Tôi đã trải qua this câu hỏi, nhưng câu trả lời duy nhất định là khá vô dụng, bởi vì nếu tôi cố gắng mDialog.getWindow().getAttributes().height;
nó chỉ trả lại -2, đó là một hằng số cho WRAP_CONTENT
thuộc tính mà ta đã đặt cho hộp thoại. Làm thế nào tôi có thể nhận được kích thước của nó. Tôi muốn biết siye cho hình nền.Cách nhận kích thước hộp thoại?
Trả lời
Thực tế, trong Android nó không hoạt động giống như trong iOS - bạn không thể có kích thước của chính bản thân View
, tuy nhiên, bạn có thể yêu cầu kích thước của bố cục ROOT lượt xem.
ví dụ .:
myDialog.this.findViewById(R.id.dialog_root_layout).getHeight());
Mặc dù nó sẽ trả về kích thước của hộp thoại mà không có một tiêu đề, đó là chính xác những gì tôi cần. – slezadav
@Michal: Tôi nhận được 'dialog_root_layout không thể được giải quyết hay không là một field' cho một' AlertDialog'. –
@ LuisA.Florit Thay vì đưa dialog_root_layout bạn nên chèn ID của hộp thoại của bạn. – Michal
Hãy thử:
mDialog.getWindow().getDecorView().getHeight()
Công trình tuyệt vời thực sự tốt, câu trả lời của Michal là tốt hơn cho trường hợp của tôi mặc dù. – slezadav
@KorniltsevAnatoly: Điều này không làm việc cho tôi. Tôi nhận được 0, –
@Override khoảng trống công khai trênWindowFocusChanged (boolean hasFocus) { super.onWindowFocusChanged (hasFocus); // gọi tại đây } –
@Kormilsev Anatoliy đã trả lời chính xác và tôi chỉ được cải thiện. Vì vậy, trong lớp bạn kế thừa từ lớp Dialog chỉ cần ghi đè lên phương thức:
@Override
public void onWindowFocusChanged (boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
hight = getWindow().getDecorView().getHeight();
}
và cách đặt sự kiện này cho AlertDialog ?? – user924
this 'alertDialog.setOnShowListener (new DialogInterface.OnShowListener() 'sẽ làm việc – user924
Vâng, đây là một quyết định cho hầu hết các AlertDialogs được sử dụng. – CodeToLife
- 1. Đặt kích thước của Hộp thoại
- 2. Cách nhận kích thước của hộp thoại tùy chỉnh trong Android?
- 3. Kích thước hộp thoại cảnh báo hoặc hộp thoại cảnh báo tùy chỉnh
- 4. Cài đặt Kích thước hộp thoại Lập trình
- 5. Tạo một div lồng nhau trong hộp thoại Giao diện người dùng jQuery thay đổi kích thước bằng hộp thoại?
- 6. Cách định vị hộp thoại p: trong Mặt Prime sau khi đổi kích thước
- 7. Cách thay đổi kích thước chiều rộng của hộp thoại Jquery sau khi khởi tạo
- 8. Cách làm cho hộp thoại Giao diện người dùng jQuery không thể thay đổi kích thước
- 9. JQuery hộp thoại xác nhận
- 10. Hộp thoại xác nhận GWT
- 11. Cách tạo hộp thoại JavaFX?
- 12. Thay đổi kích cỡ hộp thoại cảnh báo FastScroll
- 13. Trình cài đặt MSI, Wix và giá trị kích thước hộp thoại
- 14. Animate hộp thoại giao diện người dùng jQuery tự động thay đổi kích thước
- 15. Tự động thay đổi kích thước chiều rộng và chiều cao bằng hộp thoại jQuery
- 16. MPI_Recv: Nhận kích thước khác với kích thước được gửi
- 17. Chrome không hỗ trợ kích thước hộp?
- 18. Đặt kích thước tối ưu của cửa sổ hộp thoại có chứa một TableWidget
- 19. xác nhận trước khi thoát hộp thoại
- 20. Hộp thoại xác nhận SMS của Android
- 21. Cách đóng Hộp thoại jQuery trong hộp thoại?
- 22. Hộp thoại Dojo với nút xác nhận
- 23. Kích thước của MessageBox
- 24. Cách nhận màu nền của hộp thoại/cửa sổ?
- 25. Cách xử lý hộp thoại xác nhận xem trên web?
- 26. Nhận kích thước thư mục
- 27. Django xác nhận ImageField kích thước vv
- 28. Cách nhận thời lượng, kích thước và kích thước video trong PHP?
- 29. Cách đặt kích thước phông chữ cho văn bản của các nút thoại
- 30. QDialog không thể thay đổi kích thước với kích thước cố định trong Qt?
bạn sử dụng chính xác hộp thoại nào? –
public class ControlOverlay kéo dài Dialog, vì vậy chỉ cần Dialog – slezadav