1
.//popwindow命名為window。
//首先給window設定乙個背景顏色
colordrawable cd = new colordrawable(0x000000);
window.setbackgrounddrawable(cd);
// 產生背景變暗效果,設定透明度
windowmanager.layoutparams lp = getwindow().getattributes();
lp.alpha = 0.4f;
//之前不寫這一句也是可以實現的,這次突然沒效果了。網搜之後加上了這一句就好了。據說是因為popupwindow沒有getwindow()方法。
getwindow().addflags(windowmanager.layoutparams.flag_dim_behind);
getwindow().setattributes(lp);
//這樣就設定好了變暗的效果
2.//然後再設定退出popupwindow時取消暗背景
window.setondismisslistener(new ondismisslistener()
});//這樣寫效率不高,**重複。優化之後:
private void darkenbackgroud(float bgcolor)
呼叫時:
1.使變暗:darkenbackgroud(0.4f);
2.使恢復:darkenbackgroud(1f);
Android彈出Dialog使背景變暗的實現方式
背景變暗 windowmanager.layoutparams lp getwindow getattributes lp.alpha 0.6f getwindow setattributes lp getwindow addflags windowmanager.layoutparams.flag...
PopWindow設定合適寬高
popwindow設定寬高有幾種方法,第一種 wrapcontent,matchparent,或自己設定乙個值 這個定值不建議設,應為考慮到裝置的適配問題,如果單一裝置就可以這樣 第二種 可以根據螢幕的寬高比例設定 第三種 可以通過view root view findviewbyid r.id.x...
彈出PopupWindow後讓背景變暗的方法
在android上使用alertdialog和popupwindow都可以很方便的實現彈窗,alertdialog彈出後背景會變暗,而popupwindow不具有此特性。stackoverflow上的這個問題 裡給出了三種方法以實現彈出popupwindow後讓背景變暗的效果,整理如下。1.方法一 ...