我想为我在alertDialogBuilder
中使用的否定和正按钮添加自定义样式。如何做到这一点?是否可以以某种方式使用 XML 创建样式并在所有alertDialogBuilder
按钮中使用它?就我而言,我希望alertdialog
按钮中的所有文本都有虚线下划线。
我试图弄清楚如何设置按钮的颜色,但这还不够。
...
alertDialog.show(); alertDialog.getButton(alertDialog.BUTTON_POSITIVE).setTextColor(Color.parseColor("#FFFFFF"));
预期的结果是能够定义可在所有alertDialogBuilder
按钮中轻松使用的样式。
是的,您可以在样式.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();
您可以按照本指南在警报对话框中应用样式。 如何像专业人士一样设置警报对话框的样式