找到了解决我的问题的一种方法。
所以交易是系统自己制作的FrameLayout(带有id:android:id / content)有一个可绘制的前景(框架顶部的阴影)。我一辈子都无法用样式或任何东西来处理它,我也无法弄清楚为什么它会发生在 dialogfragments 内的这两个自定义警报对话框上。
注意:我使用的是与 v7 AppCompat 兼容的 HoloEverywhere 分支,但保留了尽可能多的类等......来自实际的支持库。
但是,我可以访问框架布局并使用以下方法删除前景可绘制对象:(注意:它必须在 onresume 中,因为我认为在此之前没有任何调用导致“android.util.AndroidRuntimeException:必须调用 requestFeature()添加内容之前”错误。
public void onResume() {
super.onResume();
((FrameLayout) getDialog().getWindow().getDecorView().findViewById(android.R.id.content)).setForeground(new ColorDrawable(android.graphics.Color.TRANSPARENT));
}
如果有更好更安全的方法,或者如果有人知道为什么会这样,请告诉我。