android - 如何继承AlertDialog按钮的样式

标签 android button styles

我想在像AlertDialog这样的 fragment 上设置按钮的样式,我该怎么做 我应该为我的按钮继承或设置哪种样式

我的styles.xml

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="android:spinnerItemStyle">@style/Spinner</item>
</style>
<style name="AppTheme.NoActionBar">
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
</style>
<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />

谢谢

最佳答案

这是我如何在应用程序中完成此操作的快速示例。您需要在 AppTheme 中设置一个alertDialogTheme。您还可以将样式应用到按钮。这是使用您的代码的示例。

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="android:spinnerItemStyle">@style/Spinner</item>
    <item name="android:alertDialogTheme">@style/AlertDialogTheme</item>
</style>
<style name="AppTheme.NoActionBar">
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
</style>
<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />

<style name="AlertDialogTheme" parent="Theme.AppCompat.Light.Dialog.Alert">
        <item name="android:textColor">@android:color/black</item>
        <item name="android:textColorPrimary">@android:color/holo_red_dark</item>
        <item name="android:textColorSecondary">@android:color/holo_orange_light</item>
        <item name="colorAccent">@android:color/holo_purple</item>
        <item name="colorControlHighlight">@android:color/holo_purple</item>
        <item name="buttonBarNegativeButtonStyle">@style/NegativeButton</item>
        <item name="buttonBarPositiveButtonStyle">@style/PositiveButton</item>
</style>

<style name="NegativeButton"
       parent="android:Widget.DeviceDefault.Button.Borderless">
    <item name="android:textColor">@android:color/holo_green_dark</item>
</style>

<style name="PositiveButton"
       parent="android:Widget.DeviceDefault.Button.Borderless">
    <item name="android:textColor">@android:color/green</item>
</style>

关于android - 如何继承AlertDialog按钮的样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35197266/

相关文章:

java - Java 数组中每个元素有多个值

java - 启动时 BottomNavigation 不会转到我的 fragment 图标

html - 如何在导航栏上设置图像按钮的样式,例如悬停、链接时,图像会改变图案

java - 无法弄清楚为什么 Intent 没有被传递回先前的 Activity

delphi - 如何在单击 TButton 时显示 TPopupMenu?

c# - 面板中按钮的位置不在表单中

xaml - 如何在 StandardStyles.xaml 中定义基元

css - Adobe Flash Builder 移动元素中的样式

c# - WinRT 中的透明组合框

android - 硬件后退按钮关闭启用 Tab 的 Ionic 3 应用程序上的应用程序