android 動態(tài)控制狀態(tài)欄顯示和隱藏的方法實例
方法一:(經(jīng)試驗無效,但網(wǎng)上廣為流傳,也許是我使用方法不當,有待進一步驗證……)
android想要應用運行時全屏有一種方法是在activity的onCreat方法中加入如下代碼:getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);并且需要在setContentView()之前,否則無效過。從這么多的苛刻條件可以看出這種方法無法滿足動態(tài)控制。
下面的方法可以滿足這個需要。調(diào)用View的 setSystemUiVisibility()
方法,其參數(shù)如下:
View.SYSTEM_UI_FLAG_FULLSCREEN, //全屏,狀態(tài)欄和導航欄不顯示
View.SYSTEM_UI_FLAG_HIDE_NAVIGATION, //隱藏導航欄
View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN, //全屏,狀態(tài)欄會蓋在布局上
View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION,
View.SYSTEM_UI_FLAG_LAYOUT_STABLE,
View.SYSTEM_UI_FLAG_LOW_PROFILE,
View.SYSTEM_UI_FLAG_VISIBLE, //顯示狀態(tài)欄和導航欄
View.SYSTEM_UI_LAYOUT_FLAGS
方法二:(試驗成功)
直接調(diào)用此方法即可實現(xiàn)對狀態(tài)欄的控制;
private void full(boolean enable) {
if (enable) {
WindowManager.LayoutParams lp = getWindow().getAttributes();
lp.flags |= WindowManager.LayoutParams.FLAG_FULLSCREEN;
getWindow().setAttributes(lp);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
} else {
WindowManager.LayoutParams attr = getWindow().getAttributes();
attr.flags &= (~WindowManager.LayoutParams.FLAG_FULLSCREEN);
getWindow().setAttributes(attr);
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
}
}
相關文章
Android之rk3588?開發(fā)環(huán)境準備及問題解決方法
這篇文章主要介紹了Android中的rk3588?開發(fā)環(huán)境準備,本文給大家分享遇到的問題及解決方法,本文給大家講解的非常詳細對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-11-11Android開發(fā)使用PopupMenu創(chuàng)建彈出式菜單完整實例
這篇文章主要介紹了Android開發(fā)使用PopupMenu創(chuàng)建彈出式菜單,結合完整實例形式分析了Android基于PopupMenu對象創(chuàng)建的彈出式菜單相關操作技巧與注意事項,需要的朋友可以參考下2019-03-03Android 自動化測試經(jīng)驗分享 深入UiScrollable
UiScrollable是一個UiCollection(這東西還沒搞懂),我們可以使用它,在可滑動的頁面(水平滑動或上下滑動都可以)上查找我們想要的控件(item)2013-05-05android隱式意圖激活自定義界面和系統(tǒng)應用界面的實例
下面小編就為大家?guī)硪黄猘ndroid隱式意圖激活自定義界面和系統(tǒng)應用界面的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-06-06Android SQLite數(shù)據(jù)庫增刪改查操作的案例分析
本篇文章介紹了,在Android中SQLite數(shù)據(jù)庫增刪改查操作的案例分析,需要的朋友參考下2013-04-04