Android:Target SDK = 21 (Lollipop),但在旧设备上没有完全主题化

标签 android dialog themes

我有一个目标 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/

相关文章:

java - Espresso 点击菜单项

java - Android 和 Google Play : how to get/getting provider tag data?

css - 带有 sass 的可切换自定义 Bootstrap 主题

android - 如何将 Android Spinner 创建为弹出窗口?

emacs - 我可以对每种模式的颜色主题进行调整吗?

asp.net-mvc-3 - 我应该在 MVC4 中使用 App_Themes 还是 Content/themes?

Android init.rc 在服务退出时触发

android - 安卓开启全景时如何设置光球模式

c# - C# 中的自定义对话框?

dialog - Dojo Dijit Dialog 相对位置。是否可以?