Android 沉浸式适配 4.4+

  • 默认的主题 (/values/styles.xml)
<style name="BaseTheme" parent="Theme.AppCompat.Light.NoActionBar">
</style>
  • 兼容Android 4.4 (/values-v19/styles.xml)
<style name="BaseTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="android:windowTranslucentStatus">true</item>
    <item name="android:windowTranslucentNavigation">false</item>
</style>
  • 兼容Android 5.x 以上(/values-v21/styles.xml)
<style name="BaseTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="android:windowTranslucentStatus">false</item>
    <item name="android:windowTranslucentNavigation">false</item>
    <!--Android 5.x开始需要把颜色设置透明,否则导航栏会呈现系统默认的浅灰色-->
    <item name="android:statusBarColor">@android:color/transparent</item>
</style>
  • 在BaseActivity里设置,主要是兼容虚拟按键
 override fun onCreate(savedInstanceState: Bundle?)
{
    super.onCreate(savedInstanceState)
    window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_LAYOUT_STABLE or
            View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
}
  • 最后一步了,在manifest.xml里配置主题就好了。
android:theme="@style/BaseTheme"