我在使用AlertDialog时遇到了问题。按钮不再使用accentColor来设置按钮文本颜色。
我正在使用最新的支持库v24.2.1。我通过styles.xml文件对我的对话框进行样式设置,如下所示:
<style name="Base.Theme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:alertDialogTheme">@style/Widget.DialogStyle</item>
<item name="alertDialogTheme">@style/Widget.DialogStyle</item>
</style>
并且Widget.DialogStyle看起来像这样:
<style name="Widget.DialogStyle" parent="@style/Theme.AppCompat.Light.Dialog.Alert">
<item name="android:colorAccent" tools:targetApi="lollipop">@color/primaryColor</item>
<item name="colorAccent">@color/primaryColor</item>
<item name="android:textColorPrimary">@color/primaryText</item>
<item name="android:textColor">@color/primaryText</item>
<item name="android:background">@color/backgroundColor</item>
<item name="android:textAppearanceLarge">@color/primaryText</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsFloating">true</item>
</style>
在 API 版本低于 24 的应用程序API中,对话框按钮的颜色是使用colorAccent着色的,但在API 24中,这种行为不再存在(文本是黑色的,应该是橙色的)。请参见以下截图。
有没有人知道如何将accentColor重新应用到按钮上呢? 谢谢。
7.x
上具有默认样式,因此当使用Support Libraryv24.2.x
时,弹出对话框的重点颜色可能未被正确应用。我们实际上使用我们的重点颜色设置了一个主题对话框样式,并解决了对话框问题,无需使用buttonBarStyle
。 - Austyn Mahoney