开发过程中经常有全屏dialog的需求,比如分享dialog,下面就分享一种设置全屏dialog的方法:
public class ShareDialog extends Basedialog{
public ShareInviteDialog(Activity activity) {
super(activity);
this.activity = activity;
}
public ShareInviteDialog(Activity activity, int themeResId) {
super(activity, themeResId);
}
protected ShareInviteDialog(Activity activity, boolean cancelable, OnCancelListener cancelListener) {
super(activity, cancelable, cancelListener);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.dialog_share_invite);
Window window = getWindow();
if (window != null) {
window.setGravity(Gravity.BOTTOM);
window.setLayout(getDisplayWidth(activity), getDisplayHeight(activity));
}
}
public int getDisplayWidth(Activity aAty) {
DisplayMetrics dm = new DisplayMetrics();
//将当前窗口的一些信息放在DisplayMetrics类中,
aAty.getWindowManager().getDefaultDisplay().getMetrics(dm);
return dm.widthPixels;
}
public int getDisplayHeight(Activity aAty) {
if (aAty == null) return 600;
DisplayMetrics dm = new DisplayMetrics();
aAty.getWindowManager().getDefaultDisplay().getMetrics(dm);
return dm.heightPixels;
}
}