Android提醒:如何将AlertDialog从旧式(黑色)升级到新式(白色)?

时间:2017-05-10 16:11:57

标签: java android alert alertdialog

我目前正在更新旧应用。警报具有旧样式(非常难看),具有黑色背景。如何拥有新的白色风格? (nota:似乎在Gradle中使用最近的params,如compileSdkVersion 25,buildToolsVersion“25.0.2”,targetSdkVersion 22是不够的)

请注意,我的循环ProgressBars也是“旧样式”。

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

  

我的应用程序的'application'标签中使用的主题是android:theme =“@ android:style / Theme.NoTitleBar”

这是Android 1.x / 2.x的原始主题。主题影响很多事情,包括警报对话框和ProgressBar

  

我应该选择哪种类型的现代风格兼容SDK 10?

选项#1:不管它和它一起生活。

选项#2:

  • 创建res/values-v13/styles.xml并创建一个继承自AppTheme

  • 的自定义主题(例如@android:style/Theme.Holo.NoActionBar
  • 创建res/values/styles.xml并创建一个具有相同名称的自定义主题(例如,AppTheme),其继承自@android:style/Theme.NoTitleBar

  • <application>使用您的自定义主题(例如,AppTheme

这将采用API Level 13+设备上的Holo主题。

选项#3:

  • 完成选项#2

  • 中的所有操作
  • 同时添加res/values-v21/styles.xml并创建一个与@android:style/Theme.Material.NoActionBar

  • 相同的名称的自定义主题

这将采用API Level 13-20设备上的Holo主题和API Level 21+设备上的Material主题。

选项#4:重写您的应用以使用appcompat-v7AppComaptActivity,已修改的菜单资源等)并使用合适的基于Theme.AppCompat的主题。这将为您提供所有版本的相同外观,代价是修改所有活动,所有菜单资源,添加appcompat-v7依赖项,以及可能还有其他更改。