Toolbar两步实现沉浸式系统状态栏

听好多大牛说沉浸式状态栏的叫法是错误的,可是我也不知道该怎么叫它,这篇博客里就叫它沉浸式状态栏吧~
我们看很多应用都有沉浸式状态栏的效果,连谷歌自己的应用也有这个效果,可见这个效果对于一个Androider来说有多么重要~
当然我们在使用Toolbar时要先去除Android自带的Titlebar,我之前的一篇博客记录了如何去除titlebar
,传送门:http://blog.csdn.net/key_mql/article/details/71374270
其实使用Toolbar实现沉浸式效果并不难。只需要两步就可以了~

  1. 实现系统状态栏透明
  2. 订制自己的Toolbar

我们来首先实现第一步:实现系统状态栏透明
这个只需要在Activity中写几行代码就行了:

if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.KITKAT){
        WindowManager.LayoutParams layoutParams=getWindow().getAttributes();
        layoutParams.flags=(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS|layoutParams.flags);
    }

这个要先判断一下Android版本,只有在KITKAT版本以上才能这样设置

接下来我们来实现第二步:订制Toolbar
首先我们要让Toolbar成为我们Activity中最上面的一个控件,然后再给toolbar添加一些属性,先看看代码吧:

<android.support.v7.widget.Toolbar
    android:layout_alignParentTop="true"
    android:paddingTop="25dp"
    app:contentInsetStart="0dp"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
    <TextView
        android:text="@string/yangsheng"
        android:gravity="center"
        android:textSize="22sp"
        android:textColor="@color/color_white"
        android:layout_width="match_parent"
        android:layout_height="45dp"/>
</android.support.v7.widget.Toolbar>

首先我们来看Toolbar的一些属性:
1. android:paddingTop=”25dp”
如果你不明白为什么要这么做,那么我可以告诉你一句话:系统状态栏的高度是25dp
2. app:contentInsetStart=”0dp”
为什么要设置这个属性呢,我们自带的Toolbar在左边会有一个空隙,这个空隙导致我们的TextView不能和左边缘对其,以至于可能好多设计都出现问题,我们通过设置这个属性,就能将Toolbar左边的空隙去除。
好了,经过这两步就能用Toolbar实现沉浸式系统状态栏的效果了~

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值