如何在android中使用库或类创建自定义对话框?

时间:2018-02-11 19:20:13

标签: android android-alertdialog

我想创建一个自定义对话框,如下所示

enter image description here

我需要一个包含以下功能的对话框

  1. 可以更改正确的标题文字
  2. 可以更改左侧标题图像
  3. 标题背景颜色和高度可以更改
  4. 内容文字&文本颜色和背景颜色可以更改 最后可以更改Button文本和颜色
  5. 无论是库还是Java类都无关紧要 如果你有一个具有这些功能的库请介绍

4 个答案:

答案 0 :(得分:0)

请使用android中的DialogFragment Class以正确的方式构建自定义对话框。

  

一个片段,显示一个浮动在其活动窗口顶部的对话框窗口。该片段包含一个Dialog对象,它根据片段的状态适当显示。控制对话框(决定何时显示,隐藏,关闭它)应该在这里通过API完成,而不是直接调用对话框。

实现应覆盖此类并实现onCreateView(LayoutInflater,ViewGroup,Bundle)以提供对话框的内容。或者,他们可以覆盖onCreateDialog(Bundle)来创建一个完全自定义的对话框,例如AlertDialog,它有自己的内容。 Source -

答案 1 :(得分:0)

您可以使用对话框主题创建新活动。在布局中,您可以自由设计。

答案 2 :(得分:0)

您可以使用带有自定义布局的常规Android对话框。为此,请使用所需的布局创建一个xml文件,然后使用LayoutInflaterDialog来显示它。 Reference

答案 3 :(得分:0)

嗯,这就是我这样做的方式(我的方式)

public class ReconnectDialog extends DialogFragment {
    private final static String TAG = ReconnectDialog.class.getSimpleName();

    Dialog dialog;

    public ReconnectDialog(){
        // can be custom
    }

    public void show(){
        dialog = new Dialog(getActivity());
        dialog.setContentView(R.layout.reconnect_dialog);
        dialog.setCanceledOnTouchOutside(false);


    dialog.show();
    }

    public void dismiss(){
        if (dialog != null)
            dialog.dismiss();
        else
            Log.i(TAG, "dialog is null...");
    }

    public boolean isDismissed(){
        return dialog != null && !dialog.isShowing();
    }
}