如何在不同的片段中显示不同的状态栏颜色

How to display different statusbar color in different fragment

我的 android 申请中有 20 个片段。

有两个片段 CollaspingToolbarLayout - 我希望这个片段的状态栏颜色像它们的 CollaspingToolbar 颜色一样,它是原色

其他 18 个片段有 Toolbar - 我希望这个片段的状态栏颜色像它们的工具栏颜色一样,是白色的

我可以通过在每个片段中添加它来做到这一点,但我必须在所有片段中添加它。

GetActivity().getWindow().setStatusBarColor(//color here//);

还有其他方法吗? 提前谢谢你。

你的情况非常具体。

您可以在关闭具有 CollapsingToolbarLayout 的片段时将 StatusBar 颜色设置回白色。这样就不需要去碰其他18个片段了。你只触摸那 2 个片段。

注意:我真的建议有一个父 activity 或片段,它们具有用于此类操作的专用方法。它使您的代码干净且更具可读性。