设置全屏dialog

开发过程中经常有全屏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;
}

}

猜你喜欢

转载自blog.csdn.net/qq_27246079/article/details/70208527
今日推荐