Dark-text transparent status bar with opaque navigation bar

自闭症网瘾萝莉.ら 提交于 2020-02-03 05:38:10

问题


Wait, it is not a duplicate

A similar question has been asked here, but not addressing dark-text status bar.

What I want to do

I want to achieve 3 things at the same time:

  1. Transparent status bar (Not hiding it!)
  2. Dark-text status bar
  3. Opaque (or black) navigation bar (which does not let activity content inflate underneath it)

What I have tried

The solution

            getWindow().getDecorView().setSystemUiVisibility(
                    View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                            | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);

can only achieve 1 and 3;

The solution here can only achieve 1 and 2;

And the solution here can only achieve 2 and 3....

The Question

So is there a way to achieve all 1, 2 an 3?!


回答1:


Inside styles.xml:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    ...
    <item name="android:navigationBarColor">@android:color/black</item>
    <item name="android:statusBarColor">@android:color/transparent</item>
</style>

In activity's onCreate():

override fun onCreate(savedInstanceState: Bundle?) {
  window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_LAYOUT_STABLE or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
  super.onCreate(savedInstanceState)
  setContentView(R.layout.activity_main)
}

Will result in this:



来源:https://stackoverflow.com/questions/49296468/dark-text-transparent-status-bar-with-opaque-navigation-bar

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!