android– 在setstatusbarcolor之后的trasparent状态栏navigationdrawer

android– 在setstatusbarcolor之后的trasparent状态栏navigationdrawer,第1张

概述我正在尝试使用github上的模板开发带有导航抽屉的应用程序.在style.xml我有:<stylename="AppTheme"parent="Theme.AppCompat.NoActionBar"><!--Customizeyourthemehere.--><itemname="colorPrimary">#ff0000</item><

我正在尝试使用github上的模板开发带有导航抽屉的应用程序.

在style.xml我有:

<style name="Apptheme" parent="theme.AppCompat.NoActionbar">    <!-- Customize your theme here. -->    <item name="colorPrimary">#ff0000</item>    <item name="colorPrimaryDark">#0000ff</item>

并且导航抽屉中的状态栏正常.

当我单击按钮时,它运行此命令:
.getwindow()setStatusbarcolor(color.GREEN);@H_301_14@

现在导航抽屉中的状态栏颜色不再是半透明的

恢复状态栏颜色如何变为半透明?

解决方法:

区别在于xml定义的颜色colorPrimary和colorPrimaryDark并不真正用于直接设置状态栏颜色.

实际上,状态栏始终是完全透明的,只有底层视图是彩色的.这就是为什么左边可以有另一种颜色而不是右边的颜色(看看你的第二个截图).如果现在调用getwindow().setStatusbarcolor(..),您确实直接为状态栏着色并覆盖两个视图的颜色.所以它需要保持透明!

你真正想要做的是改变状态栏下面的VIEw的颜色,这是通过ScrimInsetsFrameLayout类完成的.
看看this question和this class from the library you provided
在那里你应该找到所有必要的信息,只改变你想要的区域的颜色.

如果你真的只想重置颜色:

getwindow().setStatusbarcolor(color.transparent);
总结

以上是内存溢出为你收集整理的android – 在setstatusbarcolor之后的trasparent状态栏navigationdrawer全部内容,希望文章能够帮你解决android – 在setstatusbarcolor之后的trasparent状态栏navigationdrawer所遇到的程序开发问题。

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

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

原文地址:https://54852.com/web/1120401.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存