關於DialogFragment全屏方案
DialogFragment預設情況下就算給內部佈局設定match_parent也不是全屏。於是網上就有很多的方案,講講我所遇到的坑。
1.給window設定高度
很多地方都是用這樣的寫法
Window dialogWindow = getDialog().getWindow(); WindowManager.LayoutParams lp = dialogWindow.getAttributes(); lp.width = width; lp.height = height; dialogWindow.setAttributes(lp);
寬高無論設match_parent還是螢幕寬高都行。
一般情況下這樣的方案確實可行,但是在全屏時候彈出軟鍵盤會有一個閃的效果(我的是華為8.0的手機)。然後我把程式碼寫在onStart生命週期之後,彈出軟鍵盤是沒什麼問題了,但是轉屏之後就不再是全屏。看得就算我解決這個問題,估計這個方案也還會出現其他問題。
2.設定style
這是我看別人一篇分析寫到的,寫得很好
<item name="android:windowIsFloating">false</item>
將這個屬性設為false就可以了,這種方案即簡單又穩定。
貼上講解的連結,我覺得講得很好
ofollow,noindex">https://www.jianshu.com/p/3ecad4bfc55e