封装基类:
BaseDialogFragment extends DialogFragment
public int[] whs = new int[2];
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public void onStart() {
super.onStart();
Activity activity = getActivity();
DisplayMetrics metric = new DisplayMetrics();
activity.getWindowManager().getDefaultDisplay().getMetrics(metric);
whs[0] = metric.widthPixels;
whs[1] = metric.heightPixels;
}
/**
* @param outState 需要保存的用户数据
*/
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
}
窗口:
DialogWdTypeSelect extends BaseDialogFragment
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
getDialog().requestWindowFeature(Window.FEATURE_NO_TITLE);
//设置layout页面
return inflater.inflate(R.layout.dilaog_type_select1, null);
}
@Override
public void onStart() {
super.onStart();
Dialog dialog = getDialog();
if (dialog != null) {
WindowManager.LayoutParams p = getDialog().getWindow().getAttributes();
//宽、高
p.width = (int) (whs[0] * 0.55);
p.height = (int) (whs[1] * 0.8);
//设置居中显示
p.gravity = Gravity.CENTER;
dialog.getWindow().setAttributes(p);
dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
dialog.setCancelable(true);
}
}
调用:
DialogWdTypeSelect dialogWdTypeSelect = new DialogWdTypeSelect();
dialogWdTypeSelect.show(getSupportFragmentManager(), DetailActivity.class.getSimpleName());
getSupportFragmentManager()在
android.support.v4.app.FragmentManager 包下