【问题标题】:Styling alertDialogBuilder buttons样式化 alertDialogBuilder 按钮
【发布时间】: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();