您好,登錄后才能下訂單哦!
因為項目需求,不能使用Style文件設(shè)置Dialog的格式。這可就愁了寶寶了,在網(wǎng)上搜索了一下,基本上都是使用Style文件設(shè)置的。
1、Dialog的默認(rèn)背景的設(shè)置
通常情況下對話框有一個window級別的背景,就是我們通常遇到的Dialog周圍有黑色的陰影背景。使用代碼:
this.getWindow().setBackgroundDrawableResource(R.drawable.bg_text_bounced); this.getWindow().setBackgroundDrawable(Drawable);
一般都是設(shè)置成圓角的,所以自己切一個圓角背景圖就好了,這個this指的是Dialog,千萬不要獲取上下文的getWindow,這個window設(shè)置了還是沒有效果,所以一定在Dialog的Window設(shè)置背景
dialog.getWindow().setBackgroundDrawableResource(R.drawable.bg_text_bounced); dialog.getWindow().setBackgroundDrawable(Drawable);
2、其他的屬性設(shè)置
這里我并沒有使用Style文件,其實也就是Dialog默認(rèn)的Style,默認(rèn)的話一般都會有對話框的父背景即我上面說的window的背景,其次就是對話框自定義的背景。
我們可以在代碼中嘗試不使用Style然后設(shè)置一下下面這些代碼,試試效果。
(1)設(shè)置不顯示對話框標(biāo)題。這個標(biāo)題其實每個Activity也都有,這個和Activity設(shè)置不顯示標(biāo)題是一樣的:requestWindowFeature(Window.FEATURE_NO_TITLE);
(2)去陰影,這里指的是一般對話框之外的部分有個灰色的接近透明的陰影層,設(shè)置這個相當(dāng)于去掉這個陰影層:getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
(3)設(shè)置背景,就是我在1中描述的,這個Drawable就是我自己對話框要實現(xiàn)的Drawable背景:getWindow().setBackgroundDrawableResource(R.drawable.vip_p);
(4)設(shè)置內(nèi)容的透明度:
WindowManager.LayoutParams wmParams =getWindow().getAttributes();
//wmParams.format = PixelFormat.TRANSPARENT; 內(nèi)容全透明
wmParams.format=PixelFormat.TRANSLUCENT;//內(nèi)容半透明
wmParams.alpha=1.0f;//調(diào)節(jié)透明度,1.0最大
//dialog設(shè)置各種屬性
getWindow().setAttributes(wmParams);
3、暫時先想起來以上兩個,之后想起來再繼續(xù)補(bǔ)充。還有,這個明明是自己寫的,為啥說是超別人的,本身代碼就是這樣,不理解代碼寫的一樣就是轉(zhuǎn)載的別人么?
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。