【问题标题】:android - how to remove darkness from status barandroid - 如何从状态栏中删除黑暗
【发布时间】:2019-11-11 06:56:46
【问题描述】:

我的状态栏变黑了,我想删除它。我已经删除了状态和工具栏颜色以用渐变颜色替换它

这些是我的代码:

<style name="AppTheme.TransparentTheme">
    <item name="android:navigationBarColor">@android:color/transparent</item>
    <item name="android:statusBarColor">@android:color/transparent</item>
    <item name="windowNoTitle">true</item>
    <item name="windowActionBar">false</item>
    <item name="android:windowTranslucentStatus">true</item>
    <item name="android:windowDrawsSystemBarBackgrounds">false</item>
</style>

在我的代码中:

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

结果是这样的:

【问题讨论】:

  • 如果你想全屏显示你的内容,你还应该设置 View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN 和 View.SYSTEM_UI_FLAG_LAYOUT_STABLE 标志。例如,activity.window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN 或 View.SYSTEM_UI_FLAG_LAYOUT_STABLE。
  • @Bracadabra 感谢您的回复,但它不起作用

标签: android android-layout android-toolbar android-theme


【解决方案1】:

您可以将此代码用于要删除深色以及要显示的颜色的特定屏幕。将此代码放在该类中的 setContentView 之后

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        Window window = getWindow();
        // clear FLAG_TRANSLUCENT_STATUS flag:
        window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
        window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
        window.setStatusBarColor(getResources().getColor(R.color.Your_color));

 to change the same color in the navigation bar

window.setNavigationBarColor(@ColorInt int color)
    }

试试这个并告诉我。

【讨论】:

  • 感谢回复,很好用,唯一的问题是导航栏的内容被覆盖了,也需要有导航,怎么办?
  • 我没有得到你@Na​​vidAbutorab。你能解释清楚或用任何截图吗?
  • 使用导航栏颜色@NavidAbutorab 检查我的新编辑。如果解决了,请接受我的回答。
  • 如果你想要这个导航颜色,你可以在每个布局中保留这个代码@NavidAbutorab
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-01
  • 1970-01-01
  • 2015-01-25
  • 2015-11-11
  • 2017-12-24
  • 1970-01-01
相关资源
最近更新 更多