美文网首页
Android AlertDialog9.0靠右问题

Android AlertDialog9.0靠右问题

作者: ryanxun | 来源:发表于2021-04-12 16:09 被阅读0次
    嘿,今天的你过的还好吗

    今天用原生AlertDialog做退出时候发现一个问题,就是弹出窗口都靠右,开始以为是手机问题,后来换手机也是一样
    然后就看了一下,现在默认都是Gravity.RIGTH;

    所以窗口会靠右侧.然后改良了一下

    注意配置要在 dialog.show();之后,不然有可能不生效

      AlertDialog.Builder builder = new AlertDialog.Builder(context);
                    builder.setTitle("退出登陆");
                    builder.setMessage("你确定要退出吗?");
                    builder.setCancelable(false);
                    builder.setNeutralButton("取消", null);
                    builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialogInterface, int i) {
                            SPUtils.getInstance("userinfo").clear();
                            Intent intent = new Intent(MainActivity.this, LoginActivity.class);
                            startActivity(intent);
                            MainActivity.this.finish();
                        }
                    });
                    AlertDialog dialog = builder.create();
                    dialog.show();
                    //放在show()之后,不然有些属性是没有效果的,比如height和width
                    Window dialogWindow = dialog.getWindow();
                    WindowManager m = getWindowManager();
                    Display d = m.getDefaultDisplay(); // 获取屏幕宽、高
                    WindowManager.LayoutParams p = dialogWindow.getAttributes(); // 获取对话框当前的参数值
                    // 设置宽度
                    p.width = (int) (d.getWidth() * 0.95); // 宽度设置为屏幕的0.95
                    p.gravity = Gravity.CENTER;//设置位置
                    //p.alpha = 0.8f;//设置透明度
                    dialogWindow.setAttributes(p);
    

    没更新动态或者频繁更新动态的时候都是在认真生活

    相关文章

      网友评论

          本文标题:Android AlertDialog9.0靠右问题

          本文链接:https://www.haomeiwen.com/subject/qquxlltx.html