最近app為了跟ios一致,要做沉浸式狀態(tài)欄,所以聽說了這個(gè)庫,為了以后再用,所以轉(zhuǎn)載。這位大佬厲害。大佬的地址: github 博文原地址 借個(gè)樓,根據(jù)他的代碼,我寫了個(gè)類似輪播圖片的沉浸式狀態(tài)欄,地址
這是一個(gè)為Android App 設(shè)置狀態(tài)欄的工具類, 可以在4.4及其以上系統(tǒng)中實(shí)現(xiàn) 沉浸式狀態(tài)欄/狀態(tài)欄變色,支持設(shè)置狀態(tài)欄透明度,滿足你司設(shè)計(jì)師的各種要求(霧)。
在此之前我寫過一篇Android App 沉浸式狀態(tài)欄解決方案,后來我司設(shè)計(jì)師說默認(rèn)的透明度太深了,讓我改淺一點(diǎn),然后在想了一些辦法之后給解決了。本著不重復(fù)造輪子的原則,索性整理成一個(gè)工具類,方便需要的開發(fā)者。
設(shè)置狀態(tài)欄顏色
StatusBarUtil.setColor(Activity activity, int color)
設(shè)置狀態(tài)欄半透明
StatusBarUtil.setTranslucent(Activity activity, int statusBarAlpha) ? ? 
設(shè)置狀態(tài)欄全透明
StatusBarUtil.setTransparent(Activity activity) 
為包含 DrawerLayout 的界面設(shè)置狀態(tài)欄顏色(也可以設(shè)置半透明和全透明) StatusBarUtil.setColorForDrawerLayout(Activity activity, DrawerLayout drawerLayout, int color) 
為使用 ImageView 作為頭部的界面設(shè)置狀態(tài)欄透明 StatusBarUtil.setTranslucentForImageView(Activity activity, int statusBarAlpha, View needOffsetView) 
在 Fragment 中使用 
為滑動(dòng)返回界面設(shè)置狀態(tài)欄顏色
推薦配合 bingoogolapple/BGASwipeBackLayout-Android: Android Activity 滑動(dòng)返回 這個(gè)庫一起使用。 StatusBarUtil.setColorForSwipeBack(Activity activity, @ColorInt int color, int statusBarAlpha) 
通過傳入 statusBarAlpha 參數(shù),可以改變狀態(tài)欄的透明度值,默認(rèn)值是112。
使用 在 build.gradle 文件中添加依賴, StatusBarUtil 已經(jīng)發(fā)布在 JCenter: compile 'com.jaeger.statusbaruitl:library:1.3.5' 在 setContentView() 之后調(diào)用你需要的方法,例如:
setContentView(R.layout.main_activity); ... StatusBarUtil.setColor(MainActivity.this, mColor); 如果你在一個(gè)包含 DrawerLayout 的界面中使用, 你需要在布局文件中為 DrawerLayout 添加 android:fitsSystemWindows=”true” 屬性:
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注