日常搬磚 dialogfragment

說實話,dialogfragment 其實沒有什么講的,使用方式都差不多,主題設置和activity差不多。主要有幾個屬性。
是否全屏。
全屏后背景是否變暗。
是否保留標題欄。
是否保留邊框。

 <!--自定義dialog背景全透明無邊框theme -->
    <style name="Dialog_Msg" parent="android:style/Theme.Dialog">
        <!--背景顏色及和透明程度-->
        <item name="android:windowBackground">@android:color/transparent</item>
        <!--是否去除標題 -->
        <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 這個屬性設置true后,背景就全透明了。
大概這么設置:


image.png

image.png

然后,重點來了,狀態(tài)欄 可能和你需要的不一樣。這個和主題有關,dialogfragment 可以看做fragment,那么 activity 的主題是可以用在這個上面的。
如果你的dialogfragment 需要和activity的主題一樣,只需要 parent 你應用的主題就好了。
還有一個,當我的dialogfragment 的主題parent為Theme.AppCompat.Dialog 的時候,我顯示出來的dialog的狀態(tài)欄為純黑色。設置為android:style/Theme.Dialog 狀態(tài)欄為黑底白字。
因為我的主題的白底黑字和dialogfragment 的顯示需求一樣,我就直接 parent的是activity的主題。
個人理解,狀態(tài)欄變黑是因為主題設置中沒有設置狀態(tài)欄字體顏色和底色吧。
如果有錯誤歡迎指正,謝謝了。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容