DialogFragment默認情況下就算給內(nèi)部布局設(shè)置match_parent也不是全屏步脓。于是網(wǎng)上就有很多的方案述寡,講講我所遇到的坑。
1.給window設(shè)置高度
很多地方都是用這樣的寫法
Window dialogWindow = getDialog().getWindow();
WindowManager.LayoutParams lp = dialogWindow.getAttributes();
lp.width = width;
lp.height = height;
dialogWindow.setAttributes(lp);
寬高無論設(shè)match_parent還是屏幕寬高都行。
一般情況下這樣的方案確實可行天吓,但是在全屏?xí)r候彈出軟鍵盤會有一個閃的效果(我的是華為8.0的手機)。然后我把代碼寫在onStart生命周期之后峦椰,彈出軟鍵盤是沒什么問題了龄寞,但是轉(zhuǎn)屏之后就不再是全屏√拦Γ看得就算我解決這個問題物邑,估計這個方案也還會出現(xiàn)其他問題。
2.設(shè)置style
這是我看別人一篇分析寫到的滔金,寫得很好
<item name="android:windowIsFloating">false</item>
將這個屬性設(shè)為false就可以了色解,這種方案即簡單又穩(wěn)定。
貼上講解的鏈接餐茵,我覺得講得很好
http://www.reibang.com/p/3ecad4bfc55e