我为自己的AlertDialog使用了自定义样式,但是这使它们以全屏显示。我到处搜寻,但似乎只能找到想全屏幕播放的人...

这是我的风格

<style name="MyDialog" parent="AlertDialog.AppCompat">
    <item name="android:background">@color/material_dark</item>
    <item name="android:layout_height">100dp</item>
    <item name="android:textColor">@color/accent</item>
    <item name="android:textColorPrimary">@color/material_white</item>
</style>

还有我的AlertDialog之一。
AlertDialog alertDialog = new AlertDialog.Builder(this.getContext(), R.style.MyDialog)
            .setIcon(android.R.drawable.ic_dialog_alert)
            .setTitle(this.getContext().getResources().getString(R.string.reset) + "?")
            .setMessage(this.getContext().getResources().getString(R.string.AreYouSure))
            .setPositiveButton(getString(R.string.yes), (dialog, which) -> {
                reset();
            })
            .setNegativeButton(getString(R.string.notReally), (dialog, which) ->{
                //Do nothing
            })
            .show();

这就是它的样子。我无法弄清楚为什么它占用了整个屏幕。它应该看起来像是带有自定义颜色的AlertDialog

android - 如何防止使用自定义主题的AlertDialog全屏显示?-LMLPHP

最佳答案

add <item name="android:windowIsFloating">true</item> to MyDialog style

10-05 17:48