2 qq 26556381 qq_26556381 于 2016.03.15 22:46 提问

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

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

3个回答

qq_34781711
qq_34781711   2017.07.22 17:13

这个要从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();
u011249920
u011249920   2016.03.16 17:34

//自定义布局
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();

qq_26556381
qq_26556381 这种方法我设置过,但有个问题,这样设置之后,我View里面的内容也透明的,但我不想改变里面内容的透明度
接近 2 年之前 回复
gsw333
gsw333   2016.03.16 18:47

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

qq_26556381
qq_26556381 是楼上那种用Window设置dialog的背景色??是的话我试过,但有个问题,这样设置之后,我View里面的内容也透明的,但我不想改变里面内容的透明度
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!