BarUtils.java 文件源码

java
阅读 36 收藏 0 点赞 0 评论 0

项目:HeadlineNews 作者:
/**
 * 为DrawerLayout设置状态栏颜色
 * <p>DrawLayout需设置 {@code android:fitsSystemWindows="true"}</p>
 *
 * @param activity      activity
 * @param drawer        drawerLayout
 * @param fakeStatusBar 伪造状态栏
 * @param color         状态栏颜色值
 * @param alpha         状态栏透明度,此透明度并非颜色中的透明度
 * @param isTop         drawerLayout是否在顶层
 */
public static void setStatusBarColor4Drawer(@NonNull final Activity activity,
                                            @NonNull final DrawerLayout drawer,
                                            @NonNull final View fakeStatusBar,
                                            @ColorInt final int color,
                                            @IntRange(from = 0, to = 255) final int alpha,
                                            final boolean isTop) {
    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) return;
    drawer.setFitsSystemWindows(false);
    transparentStatusBar(activity);
    setStatusBarColor(fakeStatusBar, color, isTop ? alpha : 0);
    for (int i = 0, len = drawer.getChildCount(); i < len; i++) {
        drawer.getChildAt(i).setFitsSystemWindows(false);
    }
    if (isTop) {
        hideAlphaView(activity);
    } else {
        addStatusBarAlpha(activity, alpha, false);
    }
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号