override fun onCreate(savedInstanceState: Bundle?) {
//恢复原始theme
setTheme(R.style.Theme_ComposePDA)
super.onCreate(savedInstanceState)
//来手动启用无边框
enableEdgeToEdge()
hideNavigationBar()
setContent {
//返回按键监听
BackHandler(true) {
val currentTimeMillis = System.currentTimeMillis()
if (currentTimeMillis - exitAppTime <= lastClickTime) {//判断点击间隔,如果在间隔内则不回调
this.finish()
return@BackHandler
}
lastClickTime = currentTimeMillis
ToastUtil.showToast("再点击一次退出")
}
ComposePDATheme {
MainApp(this)
// ShowLoginWhenLoggedOut(vm, navController)
}
}
}
private fun hideNavigationBar() {
WindowCompat.setDecorFitsSystemWindows(window, false)
val windowInsetsController = WindowInsetsControllerCompat(window, window.decorView)
//上滑时候 显示按键并间隔时间后隐藏
windowInsetsController.systemBarsBehavior =
WindowInsetsControllerCompat.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE
windowInsetsController.hide(WindowInsetsCompat.Type.navigationBars())
}
布局中使用
Scaffold { padding ->
Column(
modifier = Modifier
.padding(
// 顶部安全距离
top = padding.calculateTopPadding(),
start = 15.dp,
end = 15.dp
)
) {