2014-04-05 20 views
5

Tôi đang cố gắng để có được chiều rộng của DialogFragment khi chạy, tôi đã thử hai phương pháp không thành công.DialogFragment - Nhận chiều rộng của hộp thoại

Đầu tiên: bên onCreateDialog sau khi hộp thoại đã được tạo

public Dialog onCreateDialog(Bundle savedInstanceState) { 
    AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); 
    ... 
    ... 
    AlertDialog dialog = builder.create(); 
    width = dialog.getWindow().getAttributes().width; 
    return dialog; 
} 

width được thiết lập để -1

Thứ hai:

public void onStart() { 
    width = getDialog().getWindow().getAttributes().width; 
} 

width được thiết lập để -2

+0

Vui lòng thử http://stackoverflow.com/a/10118459/2553526 hoặc http://stackoverflow.com/a/18272220/2553526 –

+0

@FaisalAli những phương pháp đó dường như áp dụng cho Hoạt động chứ không áp dụng cho Phân đoạn các đối tượng. – Calc

Trả lời

2

Giải quyết nó bằng cách sử dụng ViewTreeObserver được đặt trong onCreateDialog

Các vấn đề liên quan