关于AlertDialog设置背景透明的问题

在setView(view)自定义的view里面,外层linearLayout我设置成透明的了,可是运行起来还是白色的,求解

//自定义布局
View layout = getActivity().getLayoutInflater().inflate(R.layout.mydialog,null);
AlertDialog.Builder dialog = new AlertDialog.Builder(DialogActivity.this,AlertDialog.THEME_DEVICE_DEFAULT_DARK);
final AlertDialog dialog = builder.create();
dialog.setView(layout);
//透明
Window window = dialog.getWindow();
WindowManager.LayoutParams lp = window.getAttributes();
lp.alpha = 0.9f;
window.setAttributes(lp);
.......
dialog.show();

你把view的背景设为透明了,但是可能你这个dialog的背景色是白色,所以你看着不透明,你把dialog的背景色设为透明试试

这个要从style着手

<style name="AlertDialogStyle" parent="@android:style/Theme.Dialog">
    <item name="android:windowBackground">@android:color/transparent</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:windowIsFloating">true</item>
    <item name="android:windowFrame">@null</item>
    <item name="android:backgroundDimEnabled">true</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowIsTranslucent">true</item>
</style>

    AlertDialog dialog = new AlertDialog.Builder(activity, R.style.AlertDialogStyle).create();