android - 使用带有警报对话框的最新 Material 概述按钮

标签 android material-design android-alertdialog android-styles material-components-android

我想使用带有默认警报对话框的新 Material 轮廓按钮。

我在 中创建了样式样式.xml 如下

<style name="OutlinedButton" parent="Widget.MaterialComponents.Button.TextButton">
    <item name="strokeColor">@color/colorAccent</item>
    <item name="strokeWidth">2dp</item>
</style>

<style name="MaterialDialogStyle" parent="Theme.MaterialComponents.Dialog.Alert">
    <item name="android:textColorPrimary">@color/colorAccent</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="colorPrimary">@color/colorAccent</item>
    <item name="buttonStyle">@style/OutlinedButton</item>
</style>

我正在使用新的 Material Components 主题来设置 Yes 和 No 按钮的样式。

现在我通过将其设置为 AlertDialog 构建器在我的代码中使用上述样式。
AlertDialog.Builder builder = new AlertDialog.Builder(ProductListActivity.this, R.style.MaterialDialogStyle);

但输出如下
enter image description here

有没有办法使用带有默认警报对话框的最新 Material 概述按钮?如果有任何区别,我正在使用设计支持库中的 Material 组件。

最佳答案

由于您使用的是 Material 主题,因此您可以使用:

      new MaterialAlertDialogBuilder(MainActivity.this, R.style.MyMaterialAlertDialog)
          .setTitle("Clear cart")
          .setMessage("Pressing back...")
          .setPositiveButton("YES", null)
          .setNegativeButton("NO", /* listener = */ null)
          .show();

然后定义样式:
  <style name="MyMaterialAlertDialog" parent="@style/ThemeOverlay.MaterialComponents.MaterialAlertDialog">
    <item name="buttonBarPositiveButtonStyle">@style/OutlinedButton</item>
    <item name="buttonBarNegativeButtonStyle">@style/OutlinedButton</item>
  </style>

  <style name="OutlinedButton" parent="Widget.MaterialComponents.Button.OutlinedButton">
    <item name="strokeColor">@color/colorAccent</item>
    <item name="strokeWidth">2dp</item>
  </style>

enter image description here

关于android - 使用带有警报对话框的最新 Material 概述按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53429068/

相关文章:

java - Android Intent 不工作(将数据发送到 Activity 并接收回来)

android - 如何创建图像和文本垂直对齐的 Material 设计按钮?

android - 如何像 Material Design SearchView 一样实现 WhatsApp?

android - AlertDialog.Builder.setSingleChoiceItems 导致多选列表

android - 如何创建图案锁定应用程序

android - 无法访问 android.R.drawable.timepicker_input

ios - 宇宙思维/ Material : How to change CheckButton Selected Colour in iOS

android - 如何在 doInBackground() 时显示对话框。异步任务

android-asynctask - Xamarin - 任务等待来自自定义对话框的输入

android - RecyclerView 适配器数据在调用 notifyitemsetchanged() 后重置