Android设计库22.2.0状态栏半透明暗主题,内容显示在状态栏后方。

13 浏览
0 Comments

Android设计库22.2.0状态栏半透明暗主题,内容显示在状态栏后方。

使用design lib 22.2.0,我如何将内容放在StatusBar的后面(在我的情况下是地图),并将StatusBar的颜色设置为半透明的主要深色(可以是半透明的红色)?

参考另一个SO帖子中的图片:

enter image description here

我不使用ScrimInsetFrameLayout

我尝试在DrawerLayout上设置fitsSystemWindows="false",这样我的内容就可以显示在状态栏后面,但颜色没有应用到它上面。

如果我设置fitsSystemWindows="true",则颜色会应用到StatusBar上,但内容不会显示在其后面。

参考:https://stackoverflow.com/a/26932228/1228221

0
0 Comments

这个问题的出现是因为需要在Android应用中实现半透明的状态栏,并且希望主要的内容可以显示在状态栏后面。解决这个问题的方法是使用Android设计库中的22.2.0版本,并在代码中设置状态栏为半透明的深色主题。

以下是解决该问题的步骤:

1. 首先,确保你的项目中已经引入了Android设计库的22.2.0版本。

2. 在你的布局文件中,将主要的内容放置在一个可以滚动的容器中,例如ScrollView。

3. 在你的代码中,使用以下方法来设置状态栏为半透明的深色主题:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    Window window = getWindow();
    window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
    window.setStatusBarColor(ContextCompat.getColor(this, R.color.primary_dark));
}

请确保将上面的代码放置在Activity的onCreate方法中。

通过以上步骤,你可以实现在Android应用中使用Android设计库的22.2.0版本,将状态栏设置为半透明的深色主题,并且让主要的内容显示在状态栏后面。详情可参考这个回答

0