设置alertDialogBu​​ilder按钮的样式

时间:2018-12-31 14:33:34

标签: java android user-interface dialog styles

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

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

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

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

是的,U可以在urs 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();