0

我的应用程序中出现了一个对话框,我想摆脱使用默认对话框,以提供一些更个性化的内容。在我的对话框布局中,我包括以下内容:

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

这基本上是我想要的,它按预期改变了背景。不过这只适用于对话框内容的布局:对话框也有标题,而且对话框的标题部分仍然是默认的Android主题,那么它下面的一切都是我想要的自定义。是否可以将自定义背景扩展到整个对话框?

4

3 回答 3

2

您可以如下创建对话框

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();

在您的自定义布局中,您可以将自定义可绘制对象设置为背景。

于 2013-10-02T14:17:02.373 回答
2

您需要删除标题栏

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

一定要requestWindowFeature()在之前打电话,setContentView()否则你会得到一个FATAL EXCEPTION

于 2013-10-02T14:10:26.700 回答
0

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

yourdialog.requestWindowFeature(Window.FEATURE_NO_TITLE);

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

于 2013-10-02T14:05:16.157 回答