我的应用程序中出现了一个对话框,我想避免使用默认对话框,以提供更加自定义的内容。在我的对话框布局中,我包括以下内容:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@drawable/My_Custom_Background">
这基本上是我想要的,它会按预期更改背景。但是,这仅适用于对话框内容的布局:对话框也有一个标题,对话框的标题部分仍然是默认的Android主题,然后根据我的需要自定义其下的所有内容。是否可以将自定义背景扩展到整个对话框?
答案 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);
并在布局中设计带标题的整个对话框...