android - 更改警报对话框的文本颜色

标签 android android-alertdialog

我有一个弹出窗口,用于在我的应用中下载音频指令。我想要做的是将“OK”的默认文本颜色更改为蓝色。我尝试了一些东西,但它不起作用。这是我的代码:

 private void showDownloadPgmPopup() {

    android.app.AlertDialog.Builder builder = new android.app.AlertDialog.Builder(getActivity());
    builder.setTitle("Download instructional audio?");
    builder.setMessage(ParamConstants.AUDIODOWNLOADPERMISSION);
    builder.setNegativeButton("No", new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            WwDatabaseHelper.storeSelectedWeekAndDay(getActivity(), mSelectedWeekDataModel);
            goToMoveScreen();
        }
    });
    builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            AndroidDownloadFileByProgressBarActivity.StartAudioAssetDownload(getActivity());

        }

    }).create();
    // change the text color of download instruction ok button


    final android.app.AlertDialog dialog = builder.show();
    dialog.setOnShowListener( new DialogInterface.OnShowListener() {
                                  @Override
                                  public void onShow(DialogInterface arg0) {
                                      dialog.getButton(AlertDialog.BUTTON_POSITIVE).setTextColor(Color.parseColor("#ff5722"));
                                  }
                              });
    dialog.setCanceledOnTouchOutside(false);
    dialog.show();
}

但是更改没有生效,谁能告诉我我做错了什么?

最佳答案

您必须在 AlertDialog 构造函数中提供自定义样式 ID:

AlertDialog.Builder(Context context, int themeResId)

样式文件应该是这样的:

<style name="AlertDialogCustom" parent="Theme.AppCompat.Light.Dialog.Alert">
    <item name="android:colorAccent">#0000FF</item>
</style>

关于android - 更改警报对话框的文本颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38609262/

相关文章:

android - Android:使用音频文件填充listview并打开新 Activity

java - 如何将创建的ArrayList存储在内存中,这样它就不会在每次应用程序启动时创建?

共享临时文件的 Android 问题

android - 将字体大小更改为 AlertDialog

java - 完成反编译代码

android - 如何在onPrepareDialog中设置setSingleChoiceItems的内容?

java - 安卓工作室-Java JVM

android - 如何在 AlertDialog 中获得可导航到新 Activity 的可点击超链接?

java - 使用 ButterKnife 处理自定义 AlertDialog 时出现异常

android - Flutter 中的 PageController 和 Map