【问题标题】:Styling alertDialogBuilder buttons样式化 alertDialogBu​​ilder 按钮
【发布时间】:2019-05-28 01:16:26
【问题描述】:

我想为我在alertDialogBuilder 中使用的否定和肯定按钮添加自定义样式。如何才能做到这一点?是否有可能使用 XML 创建样式并在所有 alertDialogBuilder 按钮中使用它?就我而言,我希望alertdialog 按钮中的所有文本都带有虚线下划线。

我试图弄清楚如何为按钮设置颜色,但这还不够。

...
alertDialog.show(); alertDialog.getButton(alertDialog.BUTTON_POSITIVE).setTextColor(Color.parseColor("#FFFFFF"));

预期的结果是能够定义可以在所有alertDialogBuilder 按钮中轻松使用的样式。

【问题讨论】:

标签: java android user-interface dialog styles


【解决方案1】:

是的,你可以在你的 styles.xml 文件中创建一个样式,并在你想要的任何地方调用这个样式/主题。你可以试试下面的代码

<style name="MyCustomThemeForAlertDialog" parent="@android:style/Theme.Holo.Dialog.NoActionBar">
    <item name="colorAccent">#ffffff</item>
    <item name="android:textSize">14sp</item>

    <!-- U can call another style as your desired style-->
    <item name="android:textAppearance">@style/MyMsgBodyTextAppearance</item>
</style>
<style name="MyMsgBodyTextAppearance" parent="@android:style/TextAppearance.Holo.Medium">
    <item name="android:textStyle">italic</item>
    <item name="android:left">-5dp</item>
    <item name="android:right">-5dp</item>
    <item name="android:top">-5dp</item>
    <item name="android:dashWidth">2dp</item>
    <item name="android:dashGap">3dp</item>
    <item name="android:width">1dp</item>
</style>

然后在代码中调用您创建的主题,如下所示

AlertDialog.Builder builder = new AlertDialog.Builder(this,R.style.MyCustomThemeForAlertDialog);
builder.setCancelable(false);
builder.setTitle("Title");
builder.setMessage("Do you want to Quit?");
builder.setPositiveButton("OK", null);
builder.setNegativeButton("Cancel", null);

AlertDialog dialog = builder.create();
dialog.show();

【讨论】:

    【解决方案2】:

    您可以按照本指南在警报对话框中应用样式。 How to style AlertDialogs like a pro

    【讨论】:

      猜你喜欢
      • 2015-07-15
      • 2014-09-01
      • 1970-01-01
      • 2021-09-06
      • 2019-01-13
      • 2012-04-27
      • 2012-05-26
      • 2013-02-20
      相关资源
      最近更新 更多