android–fitSystemWindows以编程方式显示状态栏透明度

android–fitSystemWindows以编程方式显示状态栏透明度,第1张

概述我的应用程序有一个活动,每个部分都有不同的片段.我最近通过将fitSystemWindows设置为true使状态栏变为半透明,这将其设置为应用程序的背景颜色.这适用于具有工具栏的片段,颜色匹配,如下所示:然而,我的一个片段有一张照片和一个半透明的工具栏,所以我想让照片占据状态栏的空间,而不

我的应用程序有一个活动,每个部分都有不同的片段.我最近通过将fitSystemWindows设置为true使状态栏变为半透明,这将其设置为应用程序的背景颜色.这适用于具有工具栏的片段,颜色匹配,如下所示:

然而,我的一个片段有一张照片和一个半透明的工具栏,所以我想让照片占据状态栏的空间,而不是背景颜色.

我相信解决方案是仅将fitSystemwindows设置为false,并手动将填充添加到半透明工具栏.以编程方式执行此 *** 作似乎没有任何效果,我可能做错了什么?

这是我的主要活动布局:

<relativeLayout    xmlns:androID="http://schemas.androID.com/apk/res/androID"    xmlns:app="http://schemas.androID.com/apk/res-auto"    androID:ID="@+ID/main_parent_vIEw"    androID:layout_wIDth="match_parent"    androID:layout_height="match_parent"    androID:orIEntation="vertical"    androID:fitsSystemwindows="true"><!-- Container for varIoUs fragment layouts, including nav drawer and tool bar --></relativeLayout>

从我的片段的onCreateVIEw()中:

relativeLayout daddyLayout = (relativeLayout)getActivity().findVIEwByID(R.ID.main_parent_vIEw);daddyLayout.setFitsSystemwindows(false);daddyLayout.invalIDate();

这似乎没有效果,如下:

如果我在main_parent_vIEw中将fitSystemwindows设置为false,则状态栏填充消失并且它可以工作,但显然会影响每个片段.

解决方法:

看到同样的问题.通过从活动声明中删除fitSystemwindows并将paddingtop添加到片段,解决了我在我的应用程序中的问题.显然不是一个理想的解决方案,但似乎工作.

总结

以上是内存溢出为你收集整理的android – fitSystemWindows以编程方式显示状态栏透明度全部内容,希望文章能够帮你解决android – fitSystemWindows以编程方式显示状态栏透明度所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1098722.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存