日常搬磚 dialogfragment

說實話,dialogfragment 其實沒有什么講的,使用方式都差不多,主題設(shè)置和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 這個屬性設(shè)置true后,背景就全透明了。
大概這么設(shè)置:


image.png

image.png

然后,重點來了,狀態(tài)欄 可能和你需要的不一樣。這個和主題有關(guān),dialogfragment 可以看做fragment,那么 activity 的主題是可以用在這個上面的。
如果你的dialogfragment 需要和activity的主題一樣,只需要 parent 你應(yī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)欄字體顏色和底色吧。
如果有錯誤歡迎指正,謝謝了。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容