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