首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在地图视图中获得透明状态栏?

问如何在地图视图中获得透明状态栏?
EN

Stack Overflow用户
提问于 2019-06-28 23:54:29
回答 1查看 387关注 0票数 0

看(很抱歉SOF不让我上传图片)

这就是我正在努力实现的目标。我有一个地图视图,我希望状态栏是透明的,让地图看起来像是在状态栏的文本下面(就像在uber应用程序中一样)。我使用

代码语言:javascript
复制
 getWindow().setFlags(
    WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS,
    WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS
    /*,WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS*/);

这个标签来做这件事。但问题是我也有4个按钮(如底部导航栏)在底部。当我使用这个标签时,这些按钮就会出现在导航栏后面(软键)。

我想如果我使用两种不同的布局就可以了,比如一种布局适用于带有NavBar的手机,另一种适用于带有硬件按键的手机。但我就是不知道该怎么做。我试过使用这个函数,但要么它不工作,要么我实现错误,请帮助。

代码语言:javascript
复制
public boolean hasNavBar (Resources resources) {
        int id = resources.getIdentifier("config_showNavigationBar", "bool", "android");
        return f= id > 0 && resources.getBoolean(id);
    }

然后使用if(f==true),else来更改布局和java文件,但这总是给出false。

EN

回答 1

Stack Overflow用户

发布于 2019-06-29 05:54:56

尝试使用此选项,而不是LAYOUT_NO_LIMITS

代码语言:javascript
复制
Window w = getWindow();
w.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
w.setStatusBarColor(0x00000000);

您还需要确保在您希望位于状态栏后面的视图中将android:fitsSystemWindows设置为false。我不得不尝试这些布局标志的几个不同版本,这就是对我有效的方法。

对于没有导航栏按键的手机,你不应该需要不同的布局,布局将填满屏幕,直到软导航栏,或者如果手机没有导航栏,则一直到底部。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56809900

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档