gpt4 book ai didi

java - 如何在 map View 中获得透明状态栏?

转载 作者:行者123 更新时间:2023-12-02 03:45:33 25 4
gpt4 key购买 nike

看看(抱歉,SOF 不允许我上传图片)

这就是我想要实现的目标。我有一个 map View ,我希望状态栏是透明的,以使 map 看起来像在状态栏文本下方(就像在 uber 应用程序中一样)。我用的是

 getWindow().setFlags(
WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS,
WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS
/*,WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS*/);

这个标签可以做到这一点。但问题是我的底部还有 4 个按钮(如底部导航栏)。当我使用该标签时,这些按钮位于导航栏(软件键)后面。

我认为,如果我使用两种不同的布局,它就会起作用,例如一种布局适用于带有导航栏的手机,另一种布局适用于带有硬件按键的手机。但我就是不知道怎么办。我尝试过使用此功能,但要么不起作用,要么我实现错误,请帮助。

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。

最佳答案

试试这个而不是LAYOUT_NO_LIMITS:

Window w = getWindow();
w.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
w.setStatusBarColor(0x00000000);

您还需要确保在您想要位于状态栏后面的 View 中将 android:fitsSystemWindows 设置为 false。我必须尝试这些布局标志的几个不同版本,这对我有用。

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

关于java - 如何在 map View 中获得透明状态栏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56809900/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com