Asd*_*Asd 1 android android-4.4-kitkat android-5.0-lollipop android-statusbar
有谁知道当您使用windowTranslucentStatus = true时如何摆脱这种自动色调?我已经将状态栏颜色设置为透明,但是当启用windowTranslucentStatus时,它似乎将其覆盖。如果禁用windowTranslucentStatus,则可以得到所需的状态栏颜色,但无法再在状态栏下绘制导航抽屉。我可以使用ScrimInsetFrameLayout实现我想要的功能,但这引起了其他问题。

如果启用FLAG_TRANSLUCENT_STATUS,则可以在状态栏下进行绘制,因为它会自动设置其他两个系统UI可见性标志,如文档中所述:
公共静态最终int FLAG_TRANSLUCENT_STATUS
为窗口启用此标志后,它将自动设置系统UI可见性标志SYSTEM_UI_FLAG_LAYOUT_STABLE和SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN。
由于只想使用setStatusBarColor,因此需要手动设置这些标志:
int flag = window.getDecorView().getSystemUiVisibility();
window.getDecorView().setSystemUiVisibility( flag | View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
window.setStatusBarColor(context.getResources().getColor(R.color.yourcolor));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
478 次 |
| 最近记录: |