Toolbar两步实现沉浸式系统状态栏
来源:互联网 发布:云创大数据实验一体机 编辑:程序博客网 时间:2024/06/05 07:14
听好多大牛说沉浸式状态栏的叫法是错误的,可是我也不知道该怎么叫它,这篇博客里就叫它沉浸式状态栏吧~
我们看很多应用都有沉浸式状态栏的效果,连谷歌自己的应用也有这个效果,可见这个效果对于一个Androider来说有多么重要~
当然我们在使用Toolbar时要先去除Android自带的Titlebar,我之前的一篇博客记录了如何去除titlebar
,传送门:http://blog.csdn.net/key_mql/article/details/71374270
其实使用Toolbar实现沉浸式效果并不难。只需要两步就可以了~
- 实现系统状态栏透明
- 订制自己的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 0
- Toolbar两步实现沉浸式系统状态栏
- Toolbar实现沉浸式状态栏
- toolbar实现沉浸式状态栏
- ToolBar沉浸式状态栏的兼容实现
- 三步实现沉浸式状态栏
- Android之ToolBar和自定义ToolBar实现沉浸式状态栏
- Android 设置全屏沉浸式透明状态栏的工具类(超级简单,两步实现)
- 优雅地实现 Android Toolbar 及沉浸式状态栏
- Android DrawerLayout+ToolBar+NavigationView实现策划效果,沉浸式状态栏
- 沉浸式状态栏的系统实现方式
- TOOLBAR和沉浸式状态栏入门
- 沉浸式状态栏之Toolbar解决方案
- 沉浸式状态栏实现
- 沉浸式状态栏实现
- 沉浸式状态栏实现
- 沉浸式状态栏实现
- 实现沉浸式状态栏
- android 沉浸式状态栏的两种实现方式
- Python :构建乘积数组
- Android容器化框架
- hdu 2082
- Ubuntu 16.04 修改软件更新源地址
- 记第一次写博客
- Toolbar两步实现沉浸式系统状态栏
- 做开发对产品、测试的感觉 --- 1
- JavaScript创建对象的方式
- sqlalchemy在pythonweb中开发的使用(基于tornado的基础上)
- Python :二进制中1的个数
- 常见异常
- Linux for Ubuntu 安裝MySQL
- Skysense-Insar之数据导入
- Message Decoding (UVA-213)