设置状态栏和标题栏的样式
設(shè)置狀態(tài)欄和標(biāo)題欄的樣式
Android setSystemUiVisibility(visible)方法詳解
這個方法可以詳細(xì)的設(shè)置各種標(biāo)題欄的狀態(tài)欄的樣式.visible的值來決定
1.SYSTEM_ UI_ FLAG_ LOW_ PROFILE: 影藏不重要的狀態(tài)欄圖標(biāo),導(dǎo)航欄中相應(yīng)的圖標(biāo)都變成了一個小點(diǎn)。點(diǎn)擊狀態(tài)欄或者標(biāo)題欄還原成正常的狀態(tài)
2.SYSTEM_ UI_ FLAG_ HIDE_ NAVIGATION: 隱藏導(dǎo)航欄,點(diǎn)擊屏幕的任意地方,導(dǎo)航欄出現(xiàn)
3.SYSTEM_ UI_ FLAG_ FULLSCREEN: 隱藏狀態(tài)欄,從狀態(tài)欄位置往下拉,狀態(tài)欄重新出現(xiàn)
4.SYSTEM_ UI_ FLAG_ LAYOUT_ HIDE_ NAVIGATION:將布局?jǐn)U展到導(dǎo)航欄和狀態(tài)欄后面
5.SYSTEM_ UI_ FLAG_ LAYOUT_ FULLSCREEN:將布局?jǐn)U展到狀態(tài)欄后面
6.SYSTEM_ UI_ FLAG_ LAYOUT_ STABLE:穩(wěn)定布局
7.SYSTEM_ UI_ FLAG_ IMMERSIVE:配合SYSTEM_ UI_ FLAG_ HIDE_ NAVIGATION和SYSTEM_ UI_ FLAG_ FULLSCREEN使用,使?fàn)顟B(tài)欄和導(dǎo)航欄真正的進(jìn)入沉浸模式。點(diǎn)擊屏幕任意區(qū)域,不會退出全屏模式,只有用戶上下拉狀態(tài)欄或者導(dǎo)航欄時才會退出。
8.SYSTEM_ UI_ FLAG_ IMMERSIVE_ STICKY:效果同SYSTEM_ UI_ FLAG_ IMMERSIVE,當(dāng)用戶上下拉狀態(tài)欄或者導(dǎo)航欄時,這些系統(tǒng)欄會以半透明的狀態(tài)顯示,并且在一段時間后消失。
我們可以使用上面的方法來設(shè)置標(biāo)題欄和狀態(tài)欄的顏色
沉浸式狀態(tài)欄的代碼實(shí)現(xiàn)
if(Build.VERSION.SDK_INT> Build.VERSION_CODES.LOLLIPOP){Window window = getWindow();window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); //讓window來繪制狀態(tài)欄和導(dǎo)航欄window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);window.setNavigationBarColor(Color.TRANSPARENT);window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);window.setStatusBarColor(Color.TRANSPARENT);window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);}我們一般可以使用SYSTEM_ UI_ FLAG_ LAYOUT_ HIDE_ NAVIGATION: 這個flag值來將狀態(tài)欄和導(dǎo)航欄與背景圖片完全融合在一起。
注: buide版本必須在sdk 21以上,
window.addFlags(WindowManager.LayoutParams.FLAG_DRAW_SYSTEM_BAR_BACKGROUND):該標(biāo)志表明用window來決定狀態(tài)欄和導(dǎo)航欄的背景
轉(zhuǎn)載于:https://www.cnblogs.com/xiongbo753/p/10161894.html
總結(jié)
以上是生活随笔為你收集整理的设置状态栏和标题栏的样式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。