Popupwindow背景颜色变灰色,并点击外部消失

ColorDrawable dw = new ColorDrawable(-00000); //必须放在showatlocation才能起作用,点击外部消失,但不能使灰色背景色也消失
pw.setBackgroundDrawable(dw);

pw.showAtLocation(rl_parent, Gravity.BOTTOM,0,0);


这一段代码可以使popupwindow点击外部消失,必须放在showatlocation才能起作用,点击外部消失,但不能使灰色背景色也消失。至于为什么加了这段代码点击外部会消失我也不清楚,希望知道的朋友留言告诉我。


WindowManager.LayoutParams lp=getWindow().getAttributes();
            lp.alpha=0.3f;
            getWindow().setAttributes(lp);


这段代码使屏幕背景变成灰色


pw.setOnDismissListener(new poponDismissListener()); 

添加消失监听事件

/** 
     * 添加新笔记时弹出的popWin关闭的事件,主要是为了将背景透明度改回来 
     * @author cg 
     * 
     */  
    class poponDismissListener implements PopupWindow.OnDismissListener{  
  
        @Override  
        public void onDismiss() {  
        WindowManager.LayoutParams lp=getWindow().getAttributes();
            lp.alpha=1f;
            getWindow().setAttributes(lp);
        }  
          
    }  


还有一个重要的需要补充!:本activity的theme必须使用notitlebar

这是注册表中注册activity的

              android:name="ivan.weidian.auction.ReleaseAuction"
            android:label="@string/app_name"
            android:screenOrientation="portrait"
            android:exported="true"
            android:theme="@style/NoTitle" >

这是在stylt中定义notitle的