android - 如何自定义android AlertDialog文本属性

标签 android android-alertdialog

我有一个这样的警报对话框 enter image description here

我正在使用默认警报对话框。我需要设置 TitleContent 和 Button 的大小和颜色。现在我正在使用以下代码

AlertDialog.Builder alertDialogBuilder =new AlertDialog.Builder(new ContextThemeWrapper(context, R.style.AlertDialogCustom));

我也为此创建了一种样式资源

    <style name="AlertDialogCustom" parent="@android:style/Theme.Dialog">
    <item name="android:textColor">@color/medium_black</item>
    <item name="android:textSize">20sp</item>
    </style>

我可以使用

更改Title的颜色和大小
<item name="android:textColor">@color/medium_black</item>
<item name="android:textSize">20sp</item>

但它也适用于“是/否”按钮。我需要为所有这 3 个单独的字体颜色和大小。可以吗?

最佳答案

如果您不想创建自定义对话框:

创建警报对话框后并在显示它之前,您可以执行以下操作:

  final AlertDialog alertDialog = builder.create();
    alertDialog.setOnShowListener(new DialogInterface.OnShowListener() {
        @Override
        public void onShow(DialogInterface dialog) {
            Button yesButton = alertDialog.getButton(AlertDialog.BUTTON_POSITIVE);
            Button noButton = alertDialog.getButton(AlertDialog.BUTTON_NEGATIVE);

            yesButton.setTextSize(TypedValue.COMPLEX_UNIT_SP, 18);
            yesButton.setTypeface(/* "your type face" */);

        }
    });
    alertDialog.show();

关于android - 如何自定义android AlertDialog文本属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32886059/

相关文章:

android - 如何在 android 中以编程方式与 USSD 对话框交互

java - 在 Android 中将 AlertDialog Builder 限制为最多两行

android - Android P 中弃用的 DialogFragment 类

android - Gradle 同步失败(android studio 2.2)

Android更改默认权限保护级别

android - 在 Canvas 上绘制圆圈,使它们在不同设备上大小相等或至少相当

android:警报对话框不等待输入

java - 如何创建动态多维ArrayList?

android - 从桌面以移动方式查看网站

android - 满足条件时自动启动asynctask