Android 5.1 正确显示此对话框,但 kitkat 4.4.4 及以下显示黑色边框而非阴影。
似乎 android:windowBackground 对此负责。我尝试了不同的drawables
用于后台,尝试了 Genymotion 和 Android SDK模拟器,尝试了较旧的支持库但没有成功。我没有为此对话框设置任何样式。它显示在Fragment
。
我在logcat中看到的唯一错误 - eglSurfaceAttrib未实现
答案 0 :(得分:1)
边框,圆角和边距均由android:windowBackground定义。
尝试将以下行添加到您的java文件中:
dialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent);
答案 1 :(得分:1)
这主要是我的错,我正在更改窗口属性以动态设置对话框宽度,但似乎是错误的方式:
WindowManager.LayoutParams lp = new WindowManager.LayoutParams();
lp.height = WindowManager.LayoutParams.WRAP_CONTENT;
lp.width = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, width, getResources().getDisplayMetrics());
alert.getWindow().setAttributes(lp);
有必要使用alert.getWindow()。getAttributes()来获取属性,而不是创建新实例。