美文网首页
AlertDialog报错AndroidRuntimeExcep

AlertDialog报错AndroidRuntimeExcep

作者: polelice | 来源:发表于2018-12-13 11:44 被阅读0次

Android6.0及以下版本使用AlertDialog会报该错误,原因是在dialog.show()之后操作了Window,例如给dialog设置进出动画。
举例

  dialog.setView(viewDialog);
        dialog.show();
//使用alertDialog在6.0以下版本操作widow必须放在dialog.show()之后
        Window window;
indow=getDialogWindow(mContext,dialog);
        window=dialog.getWindow();
window.setFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE);
        window.getDecorView().setPadding(0, 0, 0, 0);
        window.setWindowAnimations(R.style.MyDialogScale);//设置动画效果
        WindowManager.LayoutParams lp = window.getAttributes();
        lp.width = WindowManager.LayoutParams.MATCH_PARENT;
        lp.height = WindowManager.LayoutParams.MATCH_PARENT;
        window.setGravity(mGravity);
        window.setAttributes(lp);

相关文章

网友评论

      本文标题:AlertDialog报错AndroidRuntimeExcep

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