1

问题是,在我显示弹出窗口后,所有活动的背景(颜色:#fff)都变成了半透明的。当我将背景更改为其他颜色(#f0f 或其他)时,它不会变成半透明的。而且当我调试时,它也不会变得半透明。并且半透明效果会随着 alpha 值的变化而变化。前任。当我将 setAlpha(50) 更改为 setAlpha(150) 时,半透明效果会发生变化,这似乎是 popupWindow 的 contentView 的背景颜色与其他活动之间存在某种关系。

我的代码如下。

popup = PopWin.popupWindow(context, TestActivity.this, popid);
View contentView = popup.getContentView();
contentView.getBackground().setAlpha(50);

public static PopupWindow popupWindow(final Context context,
        final View view, int rsid) {
    LayoutInflater inflater = (LayoutInflater) context
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View popView = inflater.inflate(rsid, null, false);
    final PopupWindow popWin = new PopupWindow(popView,
            LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT, true);

    popWin.setBackgroundDrawable(new BitmapDrawable());
    popWin.setFocusable(true);

    popWin.showAtLocation(view, Gravity.CENTER, 0, 0);
    return popWin;
}

下图是半透明后的截图。(无法上传图片,抱歉!)

http://g.hiphotos.baidu.com/zhidao/pic/item/aec379310a55b3191df0b28343a98226cffc173e.jpg

所有灰色/黑色区域在正确状态下都是白色(#fff)。

4

0 回答 0