Android 彈出Dialog時隱藏狀態(tài)欄和底部導航欄的方法
上代碼
dialog.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
dialog.getWindow().getDecorView().setOnSystemUiVisibilityChangeListener(new View.OnSystemUiVisibilityChangeListener() {
@Override
public void onSystemUiVisibilityChange(int visibility) {
int uiOptions = View.SYSTEM_UI_FLAG_LAYOUT_STABLE |
//布局位于狀態(tài)欄下方
View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION |
//全屏
View.SYSTEM_UI_FLAG_FULLSCREEN |
//隱藏導航欄
View.SYSTEM_UI_FLAG_HIDE_NAVIGATION |
View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN;
uiOptions |= 0x00001000;
dialog.getWindow().getDecorView().setSystemUiVisibility(uiOptions);
}
});
ps:下面看下Android Dialog彈出時不顯示導航欄(沉浸式)
我們的app是全屏沉浸式的,發(fā)現(xiàn)activity在設(shè)置了全屏后,彈出dialog底部會跳出導航欄虛擬鍵。具體原因是因為Dialog的Window搶走了焦點,Window 中的 DecorView 狀態(tài)改變導致了退出。
解決方法,在Dialog中:
private void fullScreenImmersive(View view) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
int uiOptions = View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_FULLSCREEN;
view.setSystemUiVisibility(uiOptions);
}
}
@Override
public void show() {
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE, WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE);
super.show();
fullScreenImmersive(getWindow().getDecorView());
this.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE);
}
總結(jié)
以上所述是小編給大家介紹的Android 彈出Dialog時隱藏狀態(tài)欄和底部導航欄的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
- Android 中使用RadioGroup和Fragment實現(xiàn)底部導航欄的功能
- 性能分析:指如何快速定位SQL問題
- android中Fragment+RadioButton實現(xiàn)底部導航欄
- Android自定義ViewPagerIndicator實現(xiàn)炫酷導航欄指示器(ViewPager+Fragment)
- Android程序開發(fā)之Fragment實現(xiàn)底部導航欄實例代碼
- Android實現(xiàn)沉浸式通知欄通知欄背景顏色跟隨app導航欄背景顏色而改變
- Android實現(xiàn)底部導航欄功能(選項卡)
- 超簡單的幾行代碼搞定Android底部導航欄功能
- Android 沉浸式狀態(tài)欄與隱藏導航欄實例詳解
- android 全屏去掉底部虛擬導航欄的方法
- 解決android 顯示內(nèi)容被底部導航欄遮擋的問題
- Android仿今日頭條頂部導航欄效果的實例代碼
- Android仿網(wǎng)易客戶端頂部導航欄效果
- Android?Fragment實現(xiàn)頂部、底部導航欄
相關(guān)文章
一篇文章弄懂Android自定義viewgroup的相關(guān)難點
這篇文章主要給大家介紹了關(guān)于如何通過一篇文章弄懂Android中自定義viewgroup的一些相關(guān)難點,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2018-06-06
Android?Recyclerview實現(xiàn)左滑刪除功能
這篇文章主要為大家詳細介紹了Android?Recyclerview實現(xiàn)左滑刪除功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-04-04
android文件操作——讀取assets和raw文件下的內(nèi)容
本篇文章主要介紹了android文件操作——讀取assets和raw文件下的內(nèi)容,并附簡單實例代碼,需要的朋友可以參考下。2016-10-10
Android Http協(xié)議訪問網(wǎng)絡(luò)實例(3種)
本篇文章主要介紹了Android Http協(xié)議訪問網(wǎng)絡(luò)實例(3種),具有一定的參考價值,有興趣的可以了解一下2017-07-07
Android藍牙的開啟和搜索設(shè)備功能開發(fā)實例
這篇文章主要介紹了Android藍牙服務啟動搜索流程,了解內(nèi)部原理是為了幫助我們做擴展,同時也是驗證了一個人的學習能力,如果你想讓自己的職業(yè)道路更上一層樓,這些底層的東西你是必須要會的2023-04-04
Android實現(xiàn)QQ新用戶注冊界面遇到問題及解決方法
這篇文章主要介紹了Android實現(xiàn)QQ新用戶注冊界面遇到問題及解決方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-09-09

