因爲項目需求,不能使用Style文件設置Dialog的格式。這可就愁了寶寶了,在網上搜索了一下,基本上都是使用Style文件設置的。
1、Dialog的默認背景的設置
通常情況下對話框有一個window級別的背景,就是我們通常遇到的Dialog周圍有黑色的陰影背景。使用代碼:
this.getWindow().setBackgroundDrawableResource(R.drawable.bg_text_bounced); this.getWindow().setBackgroundDrawable(Drawable);
一般都是設置成圓角的,所以自己切一個圓角背景圖就好了,這個this指的是Dialog,千萬不要獲取上下文的getWindow,這個window設置了還是沒有效果,所以一定在Dialog的Window設置背景
dialog.getWindow().setBackgroundDrawableResource(R.drawable.bg_text_bounced); dialog.getWindow().setBackgroundDrawable(Drawable);
2、其他的屬性設置
這裏我並沒有使用Style文件,其實也就是Dialog默認的Style,默認的話一般都會有對話框的父背景即我上面說的window的背景,其次就是對話框自定義的背景。
我們可以在代碼中嘗試不使用Style然後設置一下下面這些代碼,試試效果。
(1)設置不顯示對話框標題。這個標題其實每個Activity也都有,這個和Activity設置不顯示標題是一樣的:requestWindowFeature(Window.FEATURE_NO_TITLE);
(2)去陰影,這裏指的是一般對話框之外的部分有個灰色的接近透明的陰影層,設置這個相當於去掉這個陰影層:getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
(3)設置背景,就是我在1中描述的,這個Drawable就是我自己對話框要實現的Drawable背景:getWindow().setBackgroundDrawableResource(R.drawable.vip_p);
(4)設置內容的透明度:
WindowManager.LayoutParams wmParams =getWindow().getAttributes();
//wmParams.format = PixelFormat.TRANSPARENT; 內容全透明
wmParams.format=PixelFormat.TRANSLUCENT;//內容半透明
wmParams.alpha=1.0f;//調節透明度,1.0最大
//dialog設置各種屬性
getWindow().setAttributes(wmParams);
3、暫時先想起來以上兩個,之後想起來再繼續補充。還有,這個明明是自己寫的,爲啥說是超別人的,本身代碼就是這樣,不理解代碼寫的一樣就是轉載的別人麼?