法一:

现在很多应用都引用了沉浸式状态栏,如QQ,效果下图:

d5f81ccfc2ee0ed031c98446612b2328.png

这样的效果很酷炫,其实设置很简单。

不过要说明的是,这种效果只能在API19以及以上版本中才能够做到。

如果想让界面Activity中实现这种效果,代码如下:

if(VERSION.SDK_INT>= VERSION_CODES.KITKAT) {

//透明状态栏

getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);

//透明导航栏

getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);

}

只有手机系统版本大于19,才执行判断中的代码,才能显示沉浸状态栏的效果。

同时,这几句代码要写在setContentView(R.layout.XX);方法之前执行。

效果图

8e437f1f499036cc718716411cb3b905.png

去掉标题栏,在setContentView(R.layout.xx)之前加

requestWindowFeature(Window.FEATURE_NO_TITLE);

效果图

46ccac7ff334e84a1dc44f7eaeaa14f1.png

API改为19以上,根标签添加背景颜色,然后

40e852c06d2b763a1518625741f7bd12.png

法二:

在res目录下面新建一个values-v19文件夹,下面新建一个styles.xml文件,内容如下

23cbda177f6bbcdc5c3cd86b47c90ff0.png

当然这样还得在布局文件的根标签中添加

android:clipToPadding="true"

android:fitsSystemWindows="true"

如果不添加这段代码的话,布局就会靠着顶部很近,就不好看了,

eeae19b3dd40dc64094ca9db6087f2fa.png

在AndroidManifest.xml 下的application 标签引用values-v19文件夹的styles.xml

27c6169175514c6bc3ce931dae462942.png

运行效果是一样的。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐