带圆角的Android AlertDialog:圆角下方的矩形

带圆角的Android AlertDialog:圆角下方的矩形,android,android-alertdialog,custom-view,Android,Android Alertdialog,Custom View,我想要一个圆角的对话框,但是当看到对话框时,它下面有一个矩形,在角落下面看到,如下所示: public Dialog onCreateDialog(Bundle savedInstanceState) { AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); LayoutInflater inflater = getActivity().getLayoutInflater(); bui

我想要一个圆角的
对话框
,但是当看到
对话框
时,它下面有一个矩形,在角落下面看到,如下所示:

public Dialog onCreateDialog(Bundle savedInstanceState) {
    AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
    LayoutInflater inflater = getActivity().getLayoutInflater();

    builder.setView(inflater.inflate(R.layout.playdialog, null));
    Dialog d = builder.create();
    d.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));

    return d;
}

我使用自定义的
对话框片段构建
对话框

public class MyDialogFragment extends DialogFragment{
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
    AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
    LayoutInflater inflater = getActivity().getLayoutInflater();

    builder.setView(inflater.inflate(R.layout.playdialog, null));
    return builder.create();
}
}
对话框布局(playdialog)具有以下可绘制背景:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >

    <solid
        android:color="#AAAAAAAA" />

    <stroke
        android:width="2dp"
        android:color="#FF000000" />

    <corners android:radius="20dp" />
</shape>
android:background="@drawable/dialog_background"
我不想看到那个长方形。我该怎么做

在post中,用户也遇到了同样的问题。我试图使用对他有效的解决方案,但对我无效。我修改了我的
对话框片段
,如下所示:

public Dialog onCreateDialog(Bundle savedInstanceState) {
    AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
    LayoutInflater inflater = getActivity().getLayoutInflater();

    builder.setView(inflater.inflate(R.layout.playdialog, null));
    Dialog d = builder.create();
    d.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));

    return d;
}
结果完全一样。如何删除该矩形


谢谢

尝试将
对话框片段的样式设置为
主题半透明。

setStyle(STYLE_NO_FRAME, android.R.style.Theme_Translucent);
它适合我。

试试这个:

customDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);

当我遇到同样的问题时,我很震惊,解决方法也有点奇怪。创建您自己的自定义绘图,如下图所示

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >

    <solid android:color="@color/text_highlight" />

    <stroke
        android:width="5dp"
        android:color="@color/text_highlight" />

    <corners android:radius="12dp" />

    <stroke
        android:width="1dp"
        android:color="@android:color/transparent" />

</shape>

我在代码中为对话框设置了透明背景。 试试这个:

@Override
public void onStart() {
    // TODO Auto-generated method stub
    super.onStart();
    getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(0x00ffffff));
}
添加
getDialog().getWindow().setBackgroundDrawable(新的可着色(Color.TRANSPARENT))

转到MyDialogFragment的
onCreateView()
方法