注:在DialogFragment布局中,最好使用LinearLayout作为根布局,不然,对DialogFragment设置宽高有时不起作用。
DialogFragment是个Fragment包装Dialog,拥有Fragment的生命周期。
方法讲解:
1.onCreate(Bundle savedInstanceState):初始化数据和设置type和theme
2.View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle saveInstanceState):加载布局,并返回view,设置view的宽度
View view = inflater.inflate(R.layout.product_tax_description_dialog,container,false); view.setMinimumWidth(getResources().getDisplayMetrics().widthPixels); return view;
3.onViewCreated(View view, Bundle saveInstanceState):给布局设置数据
4.Dialog onCreateDialog(Bundle saveInstanceState):获取Dialog,并设置Dialog。
public Dialog onCreateDialog(Bundle savedInstanceState) { Dialog dialog = super.onCreateDialog(savedInstanceState); WindowManager.LayoutParams lp = dialog.getWindow().getAttributes(); lp.gravity = Gravity.BOTTOM; dialog.setCanceledOnTouchOutside(true); dialog.onWindowAttributesChanged(lp); return dialog; }