摘要:首先設(shè)置侵入狀態(tài)欄,并設(shè)置狀態(tài)欄為透明色,相當(dāng)于隱藏的狀態(tài)欄,然后在中封裝狀態(tài)欄,由控制自己的顏色即可但是狀態(tài)欄字體顏色還是需要通過控制。
目錄介紹
1.關(guān)于如何集成
2.關(guān)于如何使用
3.關(guān)于鳴謝
4.關(guān)于版本更新說明
5.關(guān)于其他介紹
0.說明狀態(tài)欄工具類,應(yīng)該可以滿足絕大多數(shù)的使用場景。具體可以參考代碼案例,歡迎star??!
1.技術(shù)博客匯總
2.開源項目匯總
3.生活博客匯總
4.喜馬拉雅音頻匯總
5.其他匯總
1.關(guān)于如何集成在gradle中添加:compile "cn.yc:YCStatusBarLib:1.3.1"
項目地址:https://github.com/yangchong2...
2.關(guān)于如何使用2.1.1 DrawerLayout設(shè)置狀態(tài)欄
//為DrawerLayout 布局設(shè)置狀態(tài)欄顏色,純色 StatusBarUtils.setColorNoTranslucentForDrawerLayout(this, drawerLayout,getResources().getColor(R.color.colorTheme)); //為DrawerLayout 布局設(shè)置狀態(tài)欄變色,也就是加上透明度 StatusBarUtils.setColorForDrawerLayout(this, drawerLayout,getResources().getColor(R.color.colorTheme), 0);
2.1.2 設(shè)置狀態(tài)欄顏色
YCAppBar.setStatusBarColor(this, ContextCompat.getColor(this, R.color.colorAccent));
2.1.3 設(shè)置狀態(tài)欄和toolbar顏色
注意,如果是設(shè)置白色的話,則需要多帶帶設(shè)置狀態(tài)欄字體的顏色,否則看不見
如果要設(shè)置狀態(tài)欄為白色:則直接可以使用2.7中的方法
YCAppBar.setStatusBarColor(this, ContextCompat.getColor(this, R.color.colorAccent));
2.1.4 設(shè)置狀態(tài)欄透明
YCAppBar.translucentStatusBar(this, true);
2.1.5 設(shè)置狀態(tài)欄coordinatorLayout顏色
YCAppBar.setStatusBarColor(this, ContextCompat.getColor(this, R.color.colorPrimary));
2.1.6 設(shè)置狀態(tài)欄coordinatorLayout顏色透明
YCAppBar.setStatusBarColorForCollapsingToolbar(this, mAppBarLayout, collapsingToolbarLayout, toolbar, ContextCompat.getColor(this, R.color.colorPrimary));
2.1.7 設(shè)置狀態(tài)欄顏色為白色
YCAppBar.setStatusBarLightMode(this, Color.WHITE);
2.1.8 設(shè)置狀態(tài)欄和toolbar顏色為白色
YCAppBar.setStatusBarLightMode(this, Color.WHITE);
2.1.9 設(shè)置狀態(tài)欄和coordinatorLayout為白色
YCAppBar.setStatusBarLightForCollapsingToolbar(this, mAppBarLayout, collapsingToolbarLayout, toolbar, Color.WHITE);
2.2.0 單Activity多Fragment動態(tài)修改狀態(tài)欄顏色
如果是單Activity多Fragment,由Fragment控制狀態(tài)欄顏色的應(yīng)用,有兩種方案:
1.由Activity控制狀態(tài)欄背景顏色和字體顏色,提供方法供Fragment調(diào)用即可。
2.首先設(shè)置Activity侵入狀態(tài)欄,并設(shè)置狀態(tài)欄為透明色,相當(dāng)于隱藏Activity的狀態(tài)欄,
然后在BaseFragment中封裝狀態(tài)欄,由Fragment控制自己的顏色即可;
但是狀態(tài)欄字體顏色還是需要通過Activity控制。
//例如,ViewPager+TabLayout+Fragment中,很常見 @Override public void onPageSelected(int position) { switch (position){ case 0: //設(shè)置狀態(tài)欄為黑色 YCAppBar.setStatusBarColor(StatusBarFragmentActivity.this, ContextCompat.getColor(StatusBarFragmentActivity.this, R.color.colorTheme)); break; case 1: //設(shè)置狀態(tài)欄為紅色 YCAppBar.setStatusBarColor(StatusBarFragmentActivity.this, ContextCompat.getColor(StatusBarFragmentActivity.this, R.color.colorAccent)); break; case 2: //設(shè)置狀態(tài)欄為藍色 YCAppBar.setStatusBarColor(StatusBarFragmentActivity.this, ContextCompat.getColor(StatusBarFragmentActivity.this, R.color.colorPrimary)); break; case 3: //設(shè)置狀態(tài)欄為透明,相當(dāng)于隱藏狀態(tài)欄,也稱之為沉浸式狀態(tài)欄 YCAppBar.translucentStatusBar(StatusBarFragmentActivity.this, true); break; case 4: //設(shè)置狀態(tài)欄為白色 YCAppBar.setStatusBarColor(StatusBarFragmentActivity.this, ContextCompat.getColor(StatusBarFragmentActivity.this, R.color.white)); //狀態(tài)欄亮色模式,設(shè)置狀態(tài)欄黑色文字、圖標(biāo) StatusBarUtils.StatusBarLightMode(StatusBarFragmentActivity.this); break; } }
2.2.1 可以自由設(shè)置狀態(tài)欄中的字體,圖標(biāo)顏色
支持類型,1:MIUUI 2:Flyme 3:android6.0
//狀態(tài)欄亮色模式,設(shè)置狀態(tài)欄黑色文字、圖標(biāo) StatusBarUtils.StatusBarLightMode(StatusBarFragmentActivity.this);3.關(guān)于鳴謝
關(guān)于狀態(tài)欄,采用的是拿來主義,是經(jīng)過閱讀一些項目慢慢總結(jié)而來的。
非常使用,具體的用法都已經(jīng)整理成demo,歡迎直接看代碼,如果可以麻煩star!
感謝開源前輩們的無私奉獻……
4.關(guān)于版本更新說明v0.0 更新于2016年3月9日
v1.0 更新于2017年9月8日
v1.1 更新于2017年12月5日
v1.3 更新于2018年3月16日
v1.3.1 更新于2018年9月1日
添加了單Activity多Fragment動態(tài)修改狀態(tài)欄顏色功能
5.關(guān)于其他介紹 關(guān)于我的博客我的個人站點:www.yczbj.org,www.ycbjie.cn
github:https://github.com/yangchong211
知乎:https://www.zhihu.com/people/...
簡書:http://www.jianshu.com/u/b7b2...
csdn:http://my.csdn.net/m0_37700275
喜馬拉雅聽書:http://www.ximalaya.com/zhubo...
泡在網(wǎng)上的日子:http://www.jcodecraeer.com/me...
阿里云博客:https://yq.aliyun.com/users/a... 239.headeruserinfo.3.dT4bcV
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/76949.html
摘要:前言我們先一起來回顧一下實現(xiàn)沉浸式狀態(tài)欄的一般套路。從以上版本才是真正的可以設(shè)置沉浸式體驗,但也僅僅是操作狀態(tài)欄和導(dǎo)航欄的顯示與隱藏。屬性解釋設(shè)置了表明會負責(zé)系統(tǒng)的繪制,繪制透明背景的系統(tǒng)狀態(tài)欄和導(dǎo)航欄,然后用和的顏色填充相應(yīng)的區(qū)域。 前言 我們先一起來回顧一下實現(xiàn)沉浸式狀態(tài)欄的一般套路。在Android上,關(guān)于對StatusBar(狀態(tài)欄)的操作,一直都在不斷改善,并且表現(xiàn)越來越好,...
閱讀 2822·2023-04-25 22:51
閱讀 2068·2021-10-11 10:58
閱讀 3320·2019-08-30 10:49
閱讀 1884·2019-08-29 17:09
閱讀 3144·2019-08-29 10:55
閱讀 853·2019-08-26 10:34
閱讀 3500·2019-08-23 17:54
閱讀 990·2019-08-23 16:06