gpt4 book ai didi

android - WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS 不改变状态栏颜色

转载 作者:行者123 更新时间:2023-11-30 05:02:38 25 4
gpt4 key购买 nike

我在 android 中制作了一个画廊应用程序,其中的图像是全屏的。所以它用在下面一行

window.setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);

现在这工作正常,我的意思是图像现在是全屏但是当图像背景是白色时出现问题因为状态栏图标颜色是白色所以它看起来没有状态栏。

为了解决这个问题,我尝试像这样设置状态栏颜色。

window.setStatusBarColor(Color.TRANSPARENT)

但这也行不通。我试过设置其他值,例如。

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

但这也行不通!你能帮我在设置

时如何使状态栏颜色 透明
WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS

提前致谢

最佳答案

将flag设置为FLAG_LAYOUT_NO_LIMITS会使状态栏完全透明并且不能有任何颜色,移除这些flag然后改变颜色。

编辑:我如何实现您想要的(即状态栏位于应用程序内部并具有某种颜色和一定透明度的图层):


private fun changeStatusBarToOpaque() {
with(window) {
clearFlags(FLAG_LAYOUT_NO_LIMITS)
clearFlags(TRANSLUCENT_STATUS)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
statusBarColor = getCompatColor(R.color.opacityWhite)
addFlags(FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS)
}
}
}

你的主题应该有这两个标签

<item name="android:windowTranslucentStatus">true</item>
<item name="android:windowTranslucentNavigation">true</item>

关于android - WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS 不改变状态栏颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57975056/

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