【问题标题】:How to change the color of buttons in Alert Dialog? [duplicate]如何更改警报对话框中按钮的颜色? [复制]
【发布时间】:2018-07-29 04:33:53
【问题描述】:

我正在使用社交应用程序,当用户想要编辑他们的提要时,我想给他们一个弹出警报对话框,用户可以在其中编辑他们的帖子。我尝试了以下代码,但给出的结果并不好

我想改变颜色并想要一个更好的设计.. 可以为此做些什么

private void EditCurrentPost(String description)
    {
        AlertDialog.Builder builder =  new AlertDialog.Builder(ClickPostActivity.this);
        builder.setTitle("Edit post");
        final EditText inputField = new EditText(ClickPostActivity.this);
        inputField.setText(description);
        builder.setView(inputField);

        builder.setPositiveButton("Update", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
              ClickPostRef.child("description").setValue(inputField.getText().toString());
              Toast.makeText(ClickPostActivity.this,"Post Updated",Toast.LENGTH_SHORT).show();

            }
        });
        builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
           dialog.cancel();
            }
        });
        Dialog dialog = builder.create();
        dialog.show();
        dialog.getWindow().setBackgroundDrawableResource(android.R.color.holo_purple);
    }

【问题讨论】:

    标签: java android android-alertdialog


    【解决方案1】:

    有一种非常简单的方法可以使用自定义布局制作对话框:请查看以下代码:

    final Dialog dialog = new Dialog(MainActivity.this);
        dialog.setContentView(R.layout.dialog_news_description);//Your custom layout
        TextView sometextview = dialog.findViewById(R.id.textView);// Textview in your custom layout
        Button somebutton = dialog.findViewById(R.id.button_done);// Button in your layout
        somebutton.setOnClickListener(new View.OnClickListener() {//on button click listener
            @Override
            public void onClick(View view) {
                //DO your job.... 
                //then...
                dialog.dismiss();//dismiss the dialog
            }
        });
        dialog.show();
    

    【讨论】:

    • 有什么可以做的吗:dialog.getWindow().setBackgroundDrawableResource(android.R.color.holo_purple);
    • 只需使用您的创造力创建一个 xml 即可获得输入。并通过onClickListener采取行动
    【解决方案2】:

    您无法更改默认的 AlertDialog 布局,但可以为其添加自定义布局。首先,您可以查看此帖子http://android-coding.blogspot.com/2011/07/create-custom-dialog-using.html

    【讨论】:

    • 这不是真的。它非常可定制。
    • @ADM,然后教我怎么做。向我证明您可以更改 AlertDialog 而无需膨胀布局或创建扩展视图。然后我会否决这个答案。
    • 在上面的 cmets 中已经提到可能重复。
    • @ADM 它仍在膨胀自定义视图。
    • 你看dialog.getButton(AlertDialog.BUTTON_NEGATIVE).setTextColor(COLOR_I_WANT);
    猜你喜欢
    • 2018-03-05
    • 2020-06-21
    • 1970-01-01
    • 2020-07-06
    • 2016-12-01
    • 2019-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多