当前位置: 首页 > 知识库问答 >
问题:

定义警报对话框的按钮样式[重复]

莫翰藻
2023-03-14

我正在开发一个Android应用程序。我需要自定义警报对话框按钮,因为它以未指定的方式向我显示按钮。

调用警报对话框的代码为:

 new AlertDialog.Builder(context,R.style.dialog_theme)
                .setTitle(R.string.dialog_title_avviso)
                .setMessage(messageResId)
                .setPositiveButton(R.string.dialog_button_si, (dialog, which) -> listener.onResponse(dialog, DialogResponse.OK))
                .setNegativeButton(R.string.dialog_button_no, (dialog, which) -> listener.onResponse(dialog, DialogResponse.CANCEL))
                .show();

样式中。xml我定义了以下样式:

<style name="dialog_theme" parent="Theme.AppCompat.Light.Dialog.Alert">
  <item name="android:windowTitleStyle">@style/AlertDialogTitleStyle</item>
</style>

我想将对话设置为以下模式:

有什么想法吗?谢谢


共有1个答案

郎羽
2023-03-14

首先创建警报对话框对象,然后使用它来更改按钮内文本的颜色。

CustomDialog builder = new CustomDialog(getActivity(), "Try Again", errorMessage); 
    AlertDialog dialog = builder.setNegativeButton("OK", new DialogInterface.OnClickListener() {

                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        ...
                    }

                }).create();


    dialog.setOnShowListener( new OnShowListener() {
        @Override
        public void onShow(DialogInterface arg0) {
            dialog.getButton(AlertDialog.BUTTON_NEGATIVE).setTextColor(COLOR.BLUE);
        }
    });

    dialog.show()
 类似资料:
  • 最近我从支持库切换到com.google.android.Material:Material:1.0.0 但是现在我遇到了一个问题,在这个页面中有一个注释https://github.com/Material-Components/Material-Components-android/blob/master/docs/geting-started.md 注意:使用Material Compone

  • 问题内容: 这是一个滑块难题。拼图完成后,我想显示一个带有“确定”按钮的对话框。当按下“确定”按钮时,我使用来通过Android浏览器加载网站。唯一的问题是,使用当前代码,当拼图完成后,它不会加载一个框(当我使用时会加载)。它什么也没做。有任何想法吗? 问题答案: 试试这个

  • 在我的应用程序中,当我试图显示自定义的框时,它在android手机中运行良好。现在,当我在android选项卡上安装应用程序时,一切都很好,只有自定义框有问题。不显示。所以我想,我应该检查正常对话框,它工作正常。下面是普通对话框和警报对话框的代码。

  • 我已经创建了一个警报对话框构建器,其中正在显示一个表单的对话,我的积极按钮名称是提交,我希望按钮被禁用,除非表单中的所有字段都被填满。下面是我的代码,任何人可以帮助我在这方面的工作。谢谢

  • 我在硬件的后退按钮上有问题。在我的主要活动中,我有一个列表视图(例如1)。当我单击此列表视图(1)的项时,出现一个警报对话框,在此警报对话框中,有一个列表视图(例如2)。当我按下硬件的后退按钮时,这个列表视图(2)的数据正在重复。我还将取消图像放在这个警报对话框上,当我按下这个取消图像时,数据不会重复。我尝试了不同的方法onResume()、onPause()、onDestroy()、onRest

  • 标记的答案使我走上了正确的轨道。