将背景设置为对话框

时间:2013-10-02 14:00:21

标签: android dialog

我的应用程序中出现了一个对话框,我想避免使用默认对话框,以提供更加自定义的内容。在我的对话框布局中,我包括以下内容:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@drawable/My_Custom_Background">

这基本上是我想要的,它会按预期更改背景。但是,这仅适用于对话框内容的布局:对话框也有一个标题,对话框的标题部分仍然是默认的Android主题,然后根据我的需要自定义其下的所有内容。是否可以将自定义背景扩展到整个对话框?

3 个答案:

答案 0 :(得分:2)

您需要删除标题栏

dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.dialog);

务必在requestWindowFeature()之前致电setContentView(),否则您会获得FATAL EXCEPTION

答案 1 :(得分:1)

您可以按照以下

创建对话框
Dialog mDialog = new Dialog(mContext);
    mDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
    mDialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
    mDialog.setContentView(R.layout.your_custom_dialog_layout);
    mDialog.setCancelable(false);
    mDialog.show();

并在自定义布局中,您可以将自定义drawable设置为背景。

答案 2 :(得分:0)

另一种方法是使用此...删除对话框标题栏。

yourdialog.requestWindowFeature(Window.FEATURE_NO_TITLE);

并在布局中设计带标题的整个对话框...