Android沉浸式狀態欄

Android沉浸式狀態欄
 
Sample

Download StatusBarUtil-Demo


更新日誌


    • 1.2.5
      • 添加 @ColorInt 註解,現在如果傳入 R.color.xx,就會提示使用錯誤
      • 修復 DrawerLayout 內容佈局設置 paddding 失效的 bug
    • 1.2.4
      • 修復 setTranslucentForImageViewInFragment() 方法的一個 bug
    • 1.2.3
      • 修復 setTranslucentForImageView ,現在支持傳 null 作爲 needOffsetView 的值
      • 新增當 fragment 頭部是 ImageView 時設置透明狀態欄的方法
        setTranslucentForImageViewInFragment(Activity activity, ViewneedOffsetView)setTransparentForImageViewInFragment(Activity activity, ViewneedOffsetView)
      • 修復根佈局是 CoordinatorLayout 時設置狀態欄全透明和半透明的 bug
        setTranslucentForCoordinatorLayout(Activity activity, int statusBarAlpha)

    • 1.2.0
      支持爲使用 ImageView 作爲頭部的界面設置狀態欄透明
    • 1.1.1
      修復部分 4.4 上的 bug
    • 1.1.0
      修復 bug

特性
  • 設置狀態欄顏色
    StatusBarUtil.setColor(Activity activity, int color)
  • 設置狀態欄半透明
    StatusBarUtil.setTranslucent(Activity activity, int statusBarAlpha)
  • 設置狀態欄全透明
    StatusBarUtil.setTransparent(Activity activity)
  • 爲包含 DrawerLayout 的界面設置狀態欄顏色(也可以設置半透明和全透明)
    StatusBarUtil.setColorForDrawerLayout(Activity activity, DrawerLayout drawerLayout, int color)
  • 爲使用 ImageView 作爲頭部的界面設置狀態欄透明
    StatusBarUtil.setTranslucentForImageView(Activity activity, int statusBarAlpha, View needOffsetView)
  • 在 Fragment 中使用
  • 通過傳入 statusBarAlpha 參數,可以改變狀態欄的透明度值,默認值是112。

使用
  • 在 build.gradle 文件中添加依賴, StatusBarUtil 已經發布在 JCenter:
    compile 'com.jaeger.statusbaruitl:library:1.2.5'
  • 在 setContentView() 之後調用你需要的方法,例如:
    setContentView(R.layout.main_activity);...StatusBarUtil.setColor(MainActivity.this, mColor);
  • 如果你在一個包含 DrawerLayout 的界面中使用, 你需要在佈局文件中爲 DrawerLayout 添加 android:fitsSystemWindows="true" 屬性:
    <android.support.v4.widget.DrawerLayout   xmlns:android="http://schemas.android.com/apk/res/android"   xmlns:app="http://schemas.android.com/apk/res-auto"    android:id="@+id/drawer_layout"   android:layout_width="match_parent"    android:layout_height="match_parent"   android:fitsSystemWindows="true">    ...</android.support.v4.widget.DrawerLayout>
  • 當你設置了 statusBarAlpha 值時,該值需要在 0 ~ 255 之間
  • 在 Fragment 中的使用可以參照 UseInFragmentActivity.java 來實現

Demo下載地址:Android沉浸式狀態欄


發佈了28 篇原創文章 · 獲贊 36 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章