DialogFragment - 获取对话框的宽度

时间:2014-04-05 08:23:42

标签: android android-dialog android-dialogfragment

我试图在运行时获得DialogFragment的宽度,我尝试了两种失败的方法。

首先:在创建对话框后的onCreateDialog

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

width设置为-1

第二

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

width设置为-2

1 个答案:

答案 0 :(得分:2)

使用ViewTreeObserver

中设置的onCreateDialog解决了问题