如何自定义“警报对话框”按钮,例如在Google相册应用中

时间:2019-01-02 10:38:04

标签: android alertdialog

如何实现这样的“警报对话框”按钮样式:

Google Photos App

我必须创建一个自定义“对话框”还是可以通过AlertDialog主题实现?

3 个答案:

答案 0 :(得分:0)

您可以像创建普通活动屏幕一样自定义对话框屏幕,但是您可以使用this库搜索其他对话框屏幕。

答案 1 :(得分:0)

您应该使用该库进行漂亮的对话

https://github.com/pedant/sweet-alert-dialog

答案 2 :(得分:0)

只需使用自定义样式的MaterialAlertDialogBuilder

  new MaterialAlertDialogBuilder(MainActivity.this, 
            R.style.MyThemeOverlay_MaterialComponents_MaterialAlertDialog)
              .setTitle("Keep backup off?")
              .setMessage("Backup is free and unlimited at high quality")
              .setPositiveButton("Turn on", null)
              .setNegativeButton("Keep off", /* listener = */ null)
              .show();

使用buttonBarPositiveButtonStylebuttonBarNegativeButtonStyle属性更改默认颜色。
在这种情况下,您可以将filled buttonWidget.MaterialComponents.Button)用作肯定按钮,并将Text ButtonWidget.MaterialComponents.Button.TextButton.Dialog)用作否定按钮。

  <style name="MyThemeOverlay.MaterialComponents.MaterialAlertDialog" parent="@style/ThemeOverlay.MaterialComponents.MaterialAlertDialog">

    <item name="buttonBarPositiveButtonStyle">@style/PositiveButtonStyle</item>
    <item name="buttonBarNegativeButtonStyle">@style/NegativeButtonStyle</item>
  </style>

  <style name="PositiveButtonStyle" parent="@style/Widget.MaterialComponents.Button">
    <item name="android:textColor">#FFFFFF</item>
    <item name="backgroundTint">@color/primaryDarkColor</item>
  </style>

  <style name="NegativeButtonStyle" parent="@style/Widget.MaterialComponents.Button.TextButton.Dialog">
    <item name="android:textColor">@color/primaryDarkColor</item>
  </style>

enter image description here