我有一个目标 sdk 为 21 的 android 应用程序。出于某种原因,(特别是)非 Lollipop 设备上的 AlertDialogs 显示该设备的 sdk 级别。
EG:在 Lollipop 设备上,警报将显示我想要的方式。 在我的 KitKat 设备上,AlertDialog 显示了 KitKat 主题。
有没有办法强制使用 min sdk 显示对话框?或者有什么办法可以解决这个问题?
谢谢!
最佳答案
从版本 22.1.0 开始,AppCompat 提供了在旧设备上显示 Material 主题对话框的功能。
如果您有一个扩展 Dialog
的类,请将其更改为扩展 AppCompatDialog
.
如果您使用 AlertDialog.Builder
创建对话框,请切换到 android.support.v7.app.AlertDialog.Builder
.
参见 Android Support Library 22.1博客文章以获取更多信息。
关于Android:Target SDK = 21 (Lollipop),但在旧设备上没有完全主题化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30174849/