我在 theme.xml 文件中隐藏了状态栏和操作栏。但是我的启动画面有一个黑色的状态栏和导航栏。如何摆脱它。请分享您的想法。
<style
name="SplashTheme"
parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowFullscreen">true</item>
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="android:windowBackground">@drawable/splash_screen</item>
</style>
答案 0 :(得分:1)
您可以通过
隐藏状态栏window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_FULLSCREEN
导航栏可以隐藏
window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
注意 - 当用户与屏幕交互时,导航栏会重新显示
您可以在 super.onCreate 之前的 on create 中使用此代码
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_FULLSCREEN or(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION)
super.onCreate(savedInstanceState)
}
阅读更多:https://developer.android.com/training/system-ui/immersive
答案 1 :(得分:0)
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
window.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN)
setContentView(R.layout.activity_splash)
Handler(Looper.getMainLooper()).postDelayed({
startActivity(Intent(this@SplashActivity,MainActivity::class.java))
finish()
window.clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN)
},2000)
}
//用这个来隐藏你活动的状态栏
window.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN)
//使用它来为您剩余的活动重新启用状态栏,否则它不会显示在所有活动中
window.clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN)