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)控制。
下面的方法可以滿足這個需要。調用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
方法二:(試驗成功)
直接調用此方法即可實現(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 Studio 4.0 新功能中的Live Layout Inspector詳解
這篇文章主要介紹了Android Studio 4.0 新功能中的Live Layout Inspector,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-06-06
Android自定義控件(實現(xiàn)狀態(tài)提示圖表)
本篇文章主要介紹了android實現(xiàn)狀態(tài)提示圖表的功能,實現(xiàn)了動態(tài)圖表的顯示,有需要的朋友可以了解一下。2016-11-11
android 手機SD卡讀寫操作(以txt文本為例)實現(xiàn)步驟
要完成SD卡讀寫操作首先對manifest注冊SD卡讀寫權限其次是創(chuàng)建一個對SD卡中文件讀寫的類寫一個用于檢測讀寫功能的的布局然后就是UI的類了,感興趣的朋友可以參考下,希望可以幫助到你2013-02-02
Android使用RecyclerView實現(xiàn)投票系統(tǒng)
這篇文章主要為大家詳細介紹了Android使用RecyclerView實現(xiàn)投票系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-11-11

