当前位置: 首页 > 软件库 > 手机/移动开发 > >

StatusBarUtil

授权协议 Apache-2.0 License
开发语言 Java
所属分类 手机/移动开发
软件类型 开源软件
地区 不详
投 递 者 阴高刚
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

StatusBarUtil

招人广告:

字节跳动各业务线均可内推,可直接推我现在所在的部门 TikTok/抖音 业务线,提供以下服务:

  • 简历修改
  • 面试指导
  • 进度跟进

欢迎看机会的人加我微信,也欢迎进行技术交流。

Lark20210629-164537.jpg

A util for setting status bar style on Android App. It can work above API 19(KitKat 4.4).

中文版点我

Sample

Download StatusBarUtil-Demo

ChangeLog

CLICK ME

Usage

  1. Add the dependencies to your build.gradle file, StatusBarUtil is avaiable in JCenter:

    compile 'com.jaeger.statusbarutil:library:1.5.1'

    I fixed typo, change "statusbaruitl" to "statusbarutil", please notice this.

  2. Call method you need after setContentView(), such as :

    setContentView(R.layout.main_activity);
    ...
    StatusBarUtil.setColor(MainActivity.this, mColor);
  3. If you use this util in a page which containing a DrawerLayout, you need add android:fitsSystemWindows="true" for DrawerLayout in your layout XML:

    <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>
  4. Set color for swipe back page

    Recommend using with bingoogolapple/BGASwipeBackLayout-Android: Android Activity 滑动返回

    StatusBarUtil.setColorForSwipeBack(Activity activity, @ColorInt int color, int statusBarAlpha)
  5. All statusBarAlpha value you set should between 0 ~ 255

  6. How to use in Fragment, please read UseInFragmentActivity.java

    Handle all Fragments in ViewPager as ImageViewFragment, add a fake View in your Fragment layout as StatusBar :

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
    
        <View
            android:id="@+id/fake_statusbar_view"
            android:layout_width="match_parent"
            android:layout_height="@dimen/statusbar_view_height"
            android:background="@color/colorPrimary"/>
    
        <TextView
            android:id="@+id/tv_title"
            android:layout_width="match_parent"
            android:layout_height="56dp"
            android:background="@color/colorPrimary"
            android:gravity="center"
            android:text="@string/app_name"
            android:textColor="@color/white"
            android:textSize="24sp"/>   
    </LinearLayout>

    The fake StatusBar View height value statusbar_view_height defined in dimens.xml

    ~ values-v19/dimens.xml
    
    <dimen name="statusbar_view_height">25dp</dimen>
    
    ~ values/dimens.xml
    
    <dimen name="statusbar_view_height">0dp</dimen>

    When you change StatusBarColor :

    mFakeStatusBar.setBackgroundColor(color);

    Then in the Activity which contains ViewPage, just invoke

    StatusBarUtil.setTranslucentForImageViewInFragment(UseInFragmentActivity.this, null);

    Please read UseInFragmentActivity.java

Features

  • Set status bar color

    StatusBarUtil.setColor(Activity activity, int color)

  • Set status bar translucent

    StatusBarUtil.setTranslucent(Activity activity, int statusBarAlpha)

  • Set status bar transparent

    StatusBarUtil.setTransparent(Activity activity)

  • Set status bar color for DrawerLayout

    StatusBarUtil.setColorForDrawerLayout(Activity activity, DrawerLayout drawerLayout, int color)

  • Set translucent status bar for using ImageView as head view page

    StatusBarUtil.setTranslucentForImageView(Activity activity, int statusBarAlpha, View needOffsetView)

  • Set Light or Dark mode

      StatusBarUtil.setLightMode(Activity activity)
      StatusBarUtil.setDarkMode(Activity activity)
    

  • Use in fragment

  • Set color for swipe back page

    StatusBarUtil.setColorForSwipeBack(Activity activity, @ColorInt int color, int statusBarAlpha)

  • Pass statusBarAlpha param when necessary to change your status bar alpha, which is 112 by default.

License

Copyright 2016 Jaeger Chen

Licensed under the Apache License, Version 2.0 (the "License");	you may not use this file except in compliance with the License.
You may obtain a copy of the License at

	http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
  • @SuppressWarnings("unused") public class StatusBarUtil { public static final int DEFAULT_STATUS_BAR_ALPHA = 112; private static final int FAKE_STATUS_BAR_VIEW_ID = R.id.statusbarutil_fake_stat

  • import android.annotation.TargetApi; import android.app.Activity; import android.content.Context; import android.graphics.Color; import android.os.Build; import android.support.annotation.ColorInt; im

  • EventBus 这是一个为Android App设置状态栏的工具类,可以在4.4及其以上系统中实现沉浸式状态栏/状态栏变色,支持设置状态栏透明度 https://github.com/laobie/StatusBarUtil 使用:https://jaeger.itscoder.com/android/2016/03/27/statusbar-util.html 1、下载     app->  

  • 大家在工作中许多时候可能需要用到设置状态栏这里我们介绍一个状态来工具类StatusBarUtil当然这里是改造后的原版的还是在github上可以找找看就是那个star最多的。 下面是代码: public class StatusBarUtil { public static final int DEFAULT_STATUS_BAR_ALPHA = 112; private st

  • StatusBarUtil地址 setColor()设置状态栏颜色 从设置状态栏颜色方法开始看. public class StatusBarUtil { /** * 设置状态栏颜色 * * @param activity 需要设置的 activity * @param color 状态栏颜色值 */ public stati

  • 原文地址 GitHub原作网址 中文使用说明 个人使用总结 作用 统一管理状态栏颜色样式 常用方法 方法名称 参数 作用 StatusBarUtil.setColor(Activity activity, int color) 设置状态栏颜色 StatusBarUtil.setTranslucent(Activity activity, int statusBarAlpha) 透明度 0-255

  • // statusbarutil implementation ('com.jaeger.statusbarutil:library:1.5.0'){ exclude group:'com.android.support',module:'support-v4' } 按照这种方法写

  • https://github.com/laobie/StatusBarUtil.git 透明状态栏、设置状态栏颜色、设置状态栏底为图片 Activity、Fragment、DrawerLayout等 public class StatusBarUtil { public static final int DEFAULT_STATUS_BAR_ALPHA = 112; private

  • package xyz.xl06.nbvideo.Utils; import android.annotation.TargetApi; import android.app.Activity; import android.app.Dialog; import android.graphics.Color; import android.os.Build; import android.vie

  • import android.annotation.TargetApi; import android.app.Activity; import android.content.Context; import android.graphics.Color; import android.os.Build; import android.view.View; import android.view.

  • 背景: 在部分手机中,activity中, 图片全屏显示时使用StatusBarUtil设置透明状态栏时,状态栏显示白条。(第三方库StatusBarUtil中文文档链接:StatusBarUtil 状态栏工具类(实现沉浸式状态栏/变色状态栏)) 解决方案:kotlin,在setContentView前调用如下代码。 if (Build.VERSION.SDK_INT >= LOLLIPOP) {