注意是配 android 的全面屏和非全面屏
java/.../MainActivity.kt
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// 设置虚拟键颜色
val window = window
window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS)
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS)
window.navigationBarColor = Color.RED // 设置虚拟键背景颜色为红色
}
在 res/values/styles.xml
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.DayNight.NoActionBar">
<!-- 添加如下两行-->
<item name="android:windowTranslucentStatus">true</item>
<item name="android:windowBackground">@drawable/launch_background</item>
</style>
</resources>
RN 里面设置
<StatusBar
barStyle={'dark-content'}
backgroundColor="rgba(0,0,0,0)"
translucent={true}
/>
大功告成。