状态栏字体颜色

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_dark_status_bar)
    immersive(Color.YELLOW)
}

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_dark_status_bar)
    immersive(Color.YELLOW, true)
}

immersive这个函数还可以传入View进去, 就会自动使用View的背景色作为状态栏颜色.

class MainActivity : BaseMenuActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        toolbar.inflateMenu(R.menu.menu_main)
        toolbar.setOnMenuItemClickListener { onOptionsItemSelected(it) }
        immersive(toolbar)
        // or dark status bar
        // immersive(toolbar, true)
    }
}

使用immersive不传入颜色值或者View就会使用透明状态栏, 状态栏会盖在视图上. 仅设置状态栏文字颜色使用darkMode函数