在android studio中更改警报对话框的正按钮的颜色

时间:2021-06-28 09:57:44

标签: android xml colors android-alertdialog

我正在尝试更改警报对话框的肯定按钮。有人可以帮我吗?

这是我到目前为止在我的 theme.xml 中通过阅读其他人的答案所尝试的:

<resources xmlns:tools="http://schemas.android.com/tools">
    <!-- Base application theme. -->
    <style name="Theme.MyFirstTest" parent="Theme.MaterialComponents.Light.NoActionBar">
        <!-- Primary brand color. -->
        <item name="colorPrimary">@color/yellow_200</item>
        <item name="colorPrimaryVariant">@color/yellow_500</item>
        <item name="colorOnPrimary">@color/black</item>
        <!-- Secondary brand color. -->
        <item name="colorSecondary">@color/teal_200</item>
        <item name="colorSecondaryVariant">@color/teal_700</item>
        <item name="colorOnSecondary">@color/black</item>
        <!-- Status bar color. -->
        <item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
        <!-- Customize your theme here. -->
        <item name="android:positiveButtonText">#00f</item>
    </style>
    <style name="AlertDialogTheme" parent="Theme.MaterialComponents.Light.Dialog.Alert">
        <item name="buttonBarPositiveButtonStyle">@style/Alert.Button.Positive</item>
    </style>

    <style name="Alert.Button.Positive" parent="Widget.MaterialComponents.Button.TextButton">
        <item name="android:textColor">#00f</item>
        <item name="android:textSize">14sp</item>
        <item name="android:textAllCaps">false</item>
    </style>

</resources>

我正在尝试将正按钮颜色更改为蓝色 (#00f),但它一直显示我的原色 (yellow_200)。 老实说,我不知道如何自定义这个主题:Theme.MaterialComponents.Light.NoActionBar 是否有网站可以指导此主题中包含的内容以及如何对其进行自定义?

谢谢!

1 个答案:

答案 0 :(得分:0)

目前有些事情是错误的。您需要按如下方式更新样式以更改文本颜色

<style name="AlertDialogTheme" parent="ThemeOverlay.MaterialComponents.Dialog.Alert">
    <item name="buttonBarNegativeButtonStyle">@style/NegativeButtonStyle</item>
    <item name="buttonBarPositiveButtonStyle">@style/PositiveButtonStyle</item>
</style>

<style name="NegativeButtonStyle" parent="Widget.MaterialComponents.Button.TextButton.Dialog">
    <item name="android:textColor">#f00</item>
</style>

<style name="PositiveButtonStyle" parent="Widget.MaterialComponents.Button.TextButton.Dialog">
    <item name="android:textColor">#00f</item>
</style>

您可以在其网站上找到有关材料组件及其主题的更多信息,如下所示

https://material.io/components/dialogs/android#theming-dialogs

相关问题