說實話陪拘,dialogfragment 其實沒有什么講的厂镇,使用方式都差不多,主題設(shè)置和activity差不多左刽。主要有幾個屬性捺信。
是否全屏。
全屏后背景是否變暗欠痴。
是否保留標(biāo)題欄迄靠。
是否保留邊框。
<!--自定義dialog背景全透明無邊框theme -->
<style name="Dialog_Msg" parent="android:style/Theme.Dialog">
<!--背景顏色及和透明程度-->
<item name="android:windowBackground">@android:color/transparent</item>
<!--是否去除標(biāo)題 -->
<item name="android:windowNoTitle">true</item>
<!--是否去除邊框-->
<item name="android:windowFrame">@null</item>
<!--是否浮現(xiàn)在activity之上-->
<item name="android:windowIsFloating">true</item>
<!--是否模糊-->
<item name="android:backgroundDimEnabled">false</item>
</style>
android:backgroundDimEnabled 這個屬性設(shè)置true后喇辽,背景就全透明了掌挚。
大概這么設(shè)置:
然后,重點來了菩咨,狀態(tài)欄 可能和你需要的不一樣吠式。這個和主題有關(guān)陡厘,dialogfragment 可以看做fragment,那么 activity 的主題是可以用在這個上面的特占。
如果你的dialogfragment 需要和activity的主題一樣糙置,只需要 parent 你應(yīng)用的主題就好了。
還有一個摩钙,當(dāng)我的dialogfragment 的主題parent為Theme.AppCompat.Dialog 的時候罢低,我顯示出來的dialog的狀態(tài)欄為純黑色。設(shè)置為android:style/Theme.Dialog 狀態(tài)欄為黑底白字胖笛。
因為我的主題的白底黑字和dialogfragment 的顯示需求一樣网持,我就直接 parent的是activity的主題。
個人理解长踊,狀態(tài)欄變黑是因為主題設(shè)置中沒有設(shè)置狀態(tài)欄字體顏色和底色吧功舀。
如果有錯誤歡迎指正,謝謝了身弊。