Android DialogFragment-获取对话框的宽度
我试图在运行时获取Android DialogFragment-获取对话框的宽度,android,android-dialog,android-dialogfragment,Android,Android Dialog,Android Dialogfragment,我试图在运行时获取对话框片段的宽度,我尝试了两种方法,但都失败了 第一:在创建对话框后,在onCreateDialog内部 public Dialog onCreateDialog(Bundle savedInstanceState) { AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); ... ... AlertDialog dialog = builder.create
对话框片段的宽度,我尝试了两种方法,但都失败了
第一:在创建对话框后,在onCreateDialog
内部
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
...
...
AlertDialog dialog = builder.create();
width = dialog.getWindow().getAttributes().width;
return dialog;
}
宽度
设置为-1
第二:
public void onStart() {
width = getDialog().getWindow().getAttributes().width;
}
width
被设置为-2使用ViewTreeObserver
在onCreateDialog
中设置的ViewTreeObserver解决了这个问题。请尝试或@FaisalAli这些方法似乎适用于活动,而不是对对象进行分段。