默認(rèn)的DialogFragment并不是全屏,但有些需求需要我們將對(duì)話框設(shè)置為全屏(內(nèi)容全屏),Android并沒有提供直接的API,通過其它不同的方法設(shè)置全屏在不同的機(jī)型上總有一些詭異的問題,經(jīng)過測(cè)試,下面的方法可以實(shí)現(xiàn)各個(gè)機(jī)型的全屏。
測(cè)試 SDK Version = 28
創(chuàng)新互聯(lián)的客戶來自各行各業(yè),為了共同目標(biāo),我們?cè)诠ぷ魃厦芮信浜?,從?chuàng)業(yè)型小企業(yè)到企事業(yè)單位,感謝他們對(duì)我們的要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。專業(yè)領(lǐng)域包括網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、電商網(wǎng)站開發(fā)、微信營(yíng)銷、系統(tǒng)平臺(tái)開發(fā)。
覆寫Fragment的onStart()方法:
@Override
public void onStart() {
super.onStart();
Dialog dialog = getDialog();
if (dialog != null) {
Window window = dialog.getWindow();
if (window != null) {
int width = ViewGroup.LayoutParams.MATCH_PARENT;
int height = ViewGroup.LayoutParams.MATCH_PARENT;
window.setLayout(width, height);
}
}
}
}
上面的方法可以成功設(shè)置Dialog為全屏,但是如果在全屏的Dialog頂部有View的情況下,在某些機(jī)型View會(huì)被狀態(tài)欄遮?。ū热缛荢9),這時(shí)需要一些特殊的設(shè)置來處理,可以參考我的文章:解決DialogFragment在全屏?xí)rView被狀態(tài)欄遮住的問題
本文原始地址,如有更多疑問,請(qǐng)參考我的其它Android相關(guān)博客:我的博客地址