升华你的状态栏

一、任务:

今天我们来玩玩现今app挺漂亮的三种状态栏(名字可能不是这样叫,我随便叫叫,不要纠结这点小细节):

  1. 颜色状态栏
  2. 图片状态栏
  3. 全屏背景状态栏

颜色状态栏
图片状态栏
全屏背景

二、实操

long time ago,状态栏都是有黑暗来统治,but经过了漫长的斗争,在4.4(KITKAT)时代光明终于迎来了胜利。状态栏天神不再独裁专制,允许我们来订制自己的专属。

说人话,就是4.4之前我们无法订制状态栏,只有4.4之后才可以。

windowTranslucentStatus:这个属性是指是否允许app的View插入(有点污)到状态栏。

设置这属性有两种方式,可以在styles或者代码设置,个人觉得还是在代码设置比较稳妥点。

Window window = getWindow();
window.setFlags(
                        WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS,
                        WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);

就是这么的easy,设置之后的效果就是这样滴,可以看到View已经插入(好污的人啊)到状态栏了,so,只要把xml设置background,第三个任务全屏背景就OK啦。

这里写图片描述

效果是可以,but,你的View已经插入状态栏了,要解决这个问题其实很简单,只要在根布局设置android:fitsSystemWindows=”true”就可以了,这个属性是指是否需要空出状态栏的高度,其实就是相当于paddingTop。修正效果是:

这里写图片描述

接下来用最简单的办法实现颜色状态栏。

  1. 设置window flags插入状态栏
  2. 设置根布局背景为状态栏颜色,内容区为其他颜色
  3. 空出状态栏
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/colorPrimary"
    android:fitsSystemWindows="true"
    android:
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值