目錄介紹
- 1.關於如何集成
- 2.關於如何使用
- 3.關於鳴謝
- 4.關於版本更新說明
- 5.關於其餘介紹
0.說明
- 狀態欄工具類,應該能夠知足絕大多數的使用場景。具體能夠參考代碼案例,歡迎star!!
1.關於如何集成
- 在gradle中添加:compile 'cn.yc:YCStatusBarLib:1.3.1'
2.關於如何使用
//爲DrawerLayout 佈局設置狀態欄顏色,純色
StatusBarUtils.setColorNoTranslucentForDrawerLayout(this, drawerLayout,getResources().getColor(R.color.colorTheme));
//爲DrawerLayout 佈局設置狀態欄變色,也就是加上透明度
StatusBarUtils.setColorForDrawerLayout(this, drawerLayout,getResources().getColor(R.color.colorTheme), 0);
YCAppBar.setStatusBarColor(this, ContextCompat.getColor(this, R.color.colorAccent));
- 2.1.3 設置狀態欄和toolbar顏色
- 注意,若是是設置白色的話,則須要單獨設置狀態欄字體的顏色,不然看不見
- 若是要設置狀態欄爲白色:則直接可使用2.7中的方法
YCAppBar.setStatusBarColor(this, ContextCompat.getColor(this, R.color.colorAccent));
YCAppBar.translucentStatusBar(this, true);
- 2.1.5 設置狀態欄coordinatorLayout顏色
YCAppBar.setStatusBarColor(this, ContextCompat.getColor(this, R.color.colorPrimary));
- 2.1.6 設置狀態欄coordinatorLayout顏色透明
YCAppBar.setStatusBarColorForCollapsingToolbar(this, mAppBarLayout, collapsingToolbarLayout, toolbar, ContextCompat.getColor(this, R.color.colorPrimary));
YCAppBar.setStatusBarLightMode(this, Color.WHITE);
YCAppBar.setStatusBarLightMode(this, Color.WHITE);
- 2.1.9 設置狀態欄和coordinatorLayout爲白色
YCAppBar.setStatusBarLightForCollapsingToolbar(this, mAppBarLayout, collapsingToolbarLayout, toolbar, Color.WHITE);
- 2.2.0 單Activity多Fragment動態修改狀態欄顏色
- 若是是單Activity多Fragment,由Fragment控制狀態欄顏色的應用,有兩種方案:
- 1.由Activity控制狀態欄背景顏色和字體顏色,提供方法供Fragment調用便可。
- 2.首先設置Activity侵入狀態欄,並設置狀態欄爲透明色,至關於隱藏Activity的狀態欄, 而後在BaseFragment中封裝狀態欄,由Fragment控制本身的顏色便可; 可是狀態欄字體顏色仍是須要經過Activity控制。
//例如,ViewPager+TabLayout+Fragment中,很常見
@Override
public void onPageSelected(int position) {
switch (position){
case 0:
//設置狀態欄爲黑色
YCAppBar.setStatusBarColor(StatusBarFragmentActivity.this,
ContextCompat.getColor(StatusBarFragmentActivity.this,
R.color.colorTheme));
break;
case 1:
//設置狀態欄爲紅色
YCAppBar.setStatusBarColor(StatusBarFragmentActivity.this,
ContextCompat.getColor(StatusBarFragmentActivity.this,
R.color.colorAccent));
break;
case 2:
//設置狀態欄爲藍色
YCAppBar.setStatusBarColor(StatusBarFragmentActivity.this,
ContextCompat.getColor(StatusBarFragmentActivity.this,
R.color.colorPrimary));
break;
case 3:
//設置狀態欄爲透明,至關於隱藏狀態欄,也稱之爲沉浸式狀態欄
YCAppBar.translucentStatusBar(StatusBarFragmentActivity.this,
true);
break;
case 4:
//設置狀態欄爲白色
YCAppBar.setStatusBarColor(StatusBarFragmentActivity.this,
ContextCompat.getColor(StatusBarFragmentActivity.this,
R.color.white));
//狀態欄亮色模式,設置狀態欄黑色文字、圖標
StatusBarUtils.StatusBarLightMode(StatusBarFragmentActivity.this);
break;
}
}
- 2.2.1 能夠自由設置狀態欄中的字體,圖標顏色
- 支持類型,1:MIUUI 2:Flyme 3:android6.0
//狀態欄亮色模式,設置狀態欄黑色文字、圖標
StatusBarUtils.StatusBarLightMode(StatusBarFragmentActivity.this);
3.關於鳴謝
- 關於狀態欄,採用的是拿來主義,是通過閱讀一些項目慢慢總結而來的。
- 很是使用,具體的用法都已經整理成demo,歡迎直接看代碼,若是能夠麻煩star!
- 感謝開源前輩們的無私奉獻……
4.關於版本更新說明
- 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動態修改狀態欄顏色功能
5.關於其餘介紹
關於個人博客