public class BarUtils
extends java.lang.Object
author: Blankj
blog : http://blankj.com
time : 2016/9/23
desc : 栏相关工具类
| Modifier and Type | Class and Description |
|---|---|
static class |
BarUtils.StatusBarView |
| Modifier and Type | Field and Description |
|---|---|
static int |
DEFAULT_STATUS_BAR_ALPHA |
| Modifier and Type | Method and Description |
|---|---|
static int |
getActionBarHeight(Activity activity)
获取ActionBar高度
|
static int |
getStatusBarHeight(Context context)
获取状态栏高度
|
static void |
hideNotificationBar(Context context)
隐藏通知栏
|
static void |
hideStatusBar(Activity activity)
隐藏状态栏
|
static boolean |
isStatusBarExists(Activity activity)
判断状态栏是否存在
|
static void |
setColor(Activity activity,
int color)
设置状态栏颜色
|
static void |
setColor(Activity activity,
int color,
int statusBarAlpha)
设置状态栏颜色
|
static void |
setColorDiff(Activity activity,
int color)
Deprecated.
|
static void |
setColorForDrawerLayout(Activity activity,
android.support.v4.widget.DrawerLayout drawerLayout,
int color)
为DrawerLayout 布局设置状态栏变色
|
static void |
setColorForDrawerLayout(Activity activity,
android.support.v4.widget.DrawerLayout drawerLayout,
int color,
int statusBarAlpha)
为DrawerLayout 布局设置状态栏变色
|
static void |
setColorForDrawerLayoutDiff(Activity activity,
android.support.v4.widget.DrawerLayout drawerLayout,
int color)
Deprecated.
|
static void |
setColorForSwipeBack(Activity activity,
int color)
为滑动返回界面设置状态栏颜色
|
static void |
setColorForSwipeBack(Activity activity,
int color,
int statusBarAlpha)
为滑动返回界面设置状态栏颜色
|
static void |
setColorNoTranslucent(Activity activity,
int color)
设置状态栏纯色 不加半透明效果
|
static void |
setColorNoTranslucentForDrawerLayout(Activity activity,
android.support.v4.widget.DrawerLayout drawerLayout,
int color)
为DrawerLayout 布局设置状态栏颜色,纯色
|
static void |
setTranslucent(Activity activity)
使状态栏半透明
|
static void |
setTranslucent(Activity activity,
int statusBarAlpha)
使状态栏半透明
|
static void |
setTranslucentDiff(Activity activity)
Deprecated.
|
static void |
setTranslucentForCoordinatorLayout(Activity activity,
int statusBarAlpha)
针对根布局是 CoordinatorLayout, 使状态栏半透明
|
static void |
setTranslucentForDrawerLayout(Activity activity,
android.support.v4.widget.DrawerLayout drawerLayout)
为 DrawerLayout 布局设置状态栏透明
|
static void |
setTranslucentForDrawerLayout(Activity activity,
android.support.v4.widget.DrawerLayout drawerLayout,
int statusBarAlpha)
为 DrawerLayout 布局设置状态栏透明
|
static void |
setTranslucentForDrawerLayoutDiff(Activity activity,
android.support.v4.widget.DrawerLayout drawerLayout)
Deprecated.
|
static void |
setTranslucentForImageView(Activity activity,
int statusBarAlpha,
View needOffsetView)
为头部是 ImageView 的界面设置状态栏透明
|
static void |
setTranslucentForImageView(Activity activity,
View needOffsetView)
为头部是 ImageView 的界面设置状态栏透明(使用默认透明度)
|
static void |
setTranslucentForImageViewInFragment(Activity activity,
int statusBarAlpha,
View needOffsetView)
为 fragment 头部是 ImageView 的设置状态栏透明
|
static void |
setTranslucentForImageViewInFragment(Activity activity,
View needOffsetView)
为 fragment 头部是 ImageView 的设置状态栏透明
|
static void |
setTransparent(Activity activity)
设置状态栏全透明
|
static void |
setTransparentForDrawerLayout(Activity activity,
android.support.v4.widget.DrawerLayout drawerLayout)
为 DrawerLayout 布局设置状态栏透明
|
static void |
setTransparentForImageView(Activity activity,
View needOffsetView)
为头部是 ImageView 的界面设置状态栏全透明
|
static void |
setTransparentForImageViewInFragment(Activity activity,
View needOffsetView)
为 fragment 头部是 ImageView 的设置状态栏透明
|
static void |
setTransparentStatusBar(Activity activity)
设置透明状态栏(api大于19方可使用)
|
static void |
showNotificationBar(Context context,
boolean isSettingPanel)
显示通知栏
|
public static final int DEFAULT_STATUS_BAR_ALPHA
public static void setColor(Activity activity,
int color)
activity - 需要设置的 activitycolor - 状态栏颜色值public static void setColor(Activity activity,
int color,
int statusBarAlpha)
activity - 需要设置的activitycolor - 状态栏颜色值statusBarAlpha - 状态栏透明度public static void setColorForSwipeBack(Activity activity,
int color)
activity - 需要设置的activitycolor - 状态栏颜色值public static void setColorForSwipeBack(Activity activity,
int color,
int statusBarAlpha)
activity - 需要设置的activitycolor - 状态栏颜色值statusBarAlpha - 状态栏透明度public static void setColorNoTranslucent(Activity activity,
int color)
activity - 需要设置的 activitycolor - 状态栏颜色值@Deprecated
public static void setColorDiff(Activity activity,
int color)
activity - 需要设置的 activitycolor - 状态栏颜色值public static void setTranslucent(Activity activity)
适用于图片作为背景的界面,此时需要图片填充到状态栏
activity - 需要设置的activitypublic static void setTranslucent(Activity activity,
int statusBarAlpha)
适用于图片作为背景的界面,此时需要图片填充到状态栏
activity - 需要设置的activitystatusBarAlpha - 状态栏透明度public static void setTranslucentForCoordinatorLayout(Activity activity,
int statusBarAlpha)
适用于图片作为背景的界面,此时需要图片填充到状态栏
activity - 需要设置的activitystatusBarAlpha - 状态栏透明度public static void setTransparent(Activity activity)
activity - 需要设置的activity@Deprecated public static void setTranslucentDiff(Activity activity)
适用于图片作为背景的界面,此时需要图片填充到状态栏
activity - 需要设置的activitypublic static void setColorForDrawerLayout(Activity activity,
android.support.v4.widget.DrawerLayout drawerLayout,
int color)
activity - 需要设置的activitydrawerLayout - DrawerLayoutcolor - 状态栏颜色值public static void setColorNoTranslucentForDrawerLayout(Activity activity,
android.support.v4.widget.DrawerLayout drawerLayout,
int color)
activity - 需要设置的activitydrawerLayout - DrawerLayoutcolor - 状态栏颜色值public static void setColorForDrawerLayout(Activity activity,
android.support.v4.widget.DrawerLayout drawerLayout,
int color,
int statusBarAlpha)
activity - 需要设置的activitydrawerLayout - DrawerLayoutcolor - 状态栏颜色值statusBarAlpha - 状态栏透明度@Deprecated
public static void setColorForDrawerLayoutDiff(Activity activity,
android.support.v4.widget.DrawerLayout drawerLayout,
int color)
activity - 需要设置的activitydrawerLayout - DrawerLayoutcolor - 状态栏颜色值public static void setTranslucentForDrawerLayout(Activity activity,
android.support.v4.widget.DrawerLayout drawerLayout)
activity - 需要设置的activitydrawerLayout - DrawerLayoutpublic static void setTranslucentForDrawerLayout(Activity activity,
android.support.v4.widget.DrawerLayout drawerLayout,
int statusBarAlpha)
activity - 需要设置的activitydrawerLayout - DrawerLayoutstatusBarAlpha - 透明度public static void setTransparentForDrawerLayout(Activity activity,
android.support.v4.widget.DrawerLayout drawerLayout)
activity - 需要设置的activitydrawerLayout - DrawerLayout@Deprecated
public static void setTranslucentForDrawerLayoutDiff(Activity activity,
android.support.v4.widget.DrawerLayout drawerLayout)
activity - 需要设置的activitydrawerLayout - DrawerLayoutpublic static void setTransparentForImageView(Activity activity,
View needOffsetView)
activity - 需要设置的activityneedOffsetView - 需要向下偏移的 Viewpublic static void setTranslucentForImageView(Activity activity,
View needOffsetView)
activity - 需要设置的activityneedOffsetView - 需要向下偏移的 Viewpublic static void setTranslucentForImageView(Activity activity,
int statusBarAlpha,
View needOffsetView)
activity - 需要设置的activitystatusBarAlpha - 状态栏透明度needOffsetView - 需要向下偏移的 Viewpublic static void setTranslucentForImageViewInFragment(Activity activity,
View needOffsetView)
activity - fragment 对应的 activityneedOffsetView - 需要向下偏移的 Viewpublic static void setTransparentForImageViewInFragment(Activity activity,
View needOffsetView)
activity - fragment 对应的 activityneedOffsetView - 需要向下偏移的 Viewpublic static void setTranslucentForImageViewInFragment(Activity activity,
int statusBarAlpha,
View needOffsetView)
activity - fragment 对应的 activitystatusBarAlpha - 状态栏透明度needOffsetView - 需要向下偏移的 Viewpublic static int getStatusBarHeight(Context context)
context - contextpublic static void setTransparentStatusBar(Activity activity)
可在Activity的onCreat()中调用
需在顶部控件布局中加入以下属性让内容出现在状态栏之下
android:clipToPadding="true"
android:fitsSystemWindows="true"
activity - activitypublic static void hideStatusBar(Activity activity)
也就是设置全屏,一定要在setContentView之前调用,否则报错
此方法Activity可以继承AppCompatActivity
启动的时候状态栏会显示一下再隐藏,比如QQ的欢迎界面
在配置文件中Activity加属性android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
如加了以上配置Activity不能继承AppCompatActivity,会报错
activity - activitypublic static boolean isStatusBarExists(Activity activity)
activity - activitytrue: 存在false: 不存在public static int getActionBarHeight(Activity activity)
activity - activitypublic static void showNotificationBar(Context context,
boolean isSettingPanel)
需添加权限 <uses-permission android:name="android.permission.EXPAND_STATUS_BAR"/>
context - 上下文isSettingPanel - true: 打开设置false: 打开通知public static void hideNotificationBar(Context context)
需添加权限 <uses-permission android:name="android.permission.EXPAND_STATUS_BAR"/>
context - 上下文