素材巴巴 > 程序开发 >

Android标题栏沉浸效果

程序开发 2023-09-03 14:06:18

android标题栏沉浸效果

android4.4开始实现了状态栏的沉浸,即状态栏一体化,效果如图:

这里写图片描述

下面来看实现步骤:
首先,你需要在value-19中的style.xml中添加以下属性:

 

然后在AnroidManifest.xml中application标签中添加android:theme=”@style/AppTheme”即可,这样你就可以在android4.4以上的系统中运行就会出现上图的效果,但是你会发现你的布局会与状态栏重叠,这样就会导致状态栏会遮挡,解决这种问题只需要在你的activity的布局文件中添加android:fitsSystemWindows=”true”属性,如下:


 

这样就可以避免状态栏的遮挡,在测试中发现,当运行在android4.4以下的系统上时,会发现会多出actionbar,解决这个问题也很简单,只需要在values文件夹下的style.xml中添加name=”android:windowNoTitle”>true即可,如下:

或者直接设置parent为一个带有windowNoTitle的theme,例如parent=”Theme.AppCompat.Light.NoActionBar”

另外,除了以上修改style.xml的方法之后,也可以在activity中直接实现,代码如下:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {Window window = getWindow();// Translucent status barwindow.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS,WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
 }

至此,状态栏的沉浸就完成了,在开发中可能有一些要求,比如状态栏的颜色要比应用的主题的颜色要深一些等,这种问题有不同的解决办法,这里就不说了。另外,在测试中发现,在不同的系统上状态栏的沉浸效果还是不一样的,比如说6.0系统的状态栏要比背景颜色深很多,而5.0,4.4的系统状态栏与背景颜色就基本上相同,具体不同的系统所表现的不同的表现并没有做过多测试。


标签:

素材巴巴 Copyright © 2013-2021 http://www.sucaibaba.com/. Some Rights Reserved. 备案号:备案中。