Rez*_*ati 6 kotlin android-jetpack android-jetpack-compose
YouTube 上有一些关于如何在 XML android 中设置双后按退出的教程,但大多数都是 JAVA 的,没有一个是 Jetpack Compose 的。
那么我们如何在 Jetpack Compose 中设置双后按呢?
我的意思是,如果我们确定要退出,则在 Toast 中要求我们再次按回键。感谢帮助
Thr*_*ian 10
此示例在第一次触摸时显示 Toast,并等待 2 秒再次触摸以退出应用程序,否则返回到空闲状态。
sealed class BackPress {
object Idle : BackPress()
object InitialTouch : BackPress()
}
@Composable
private fun BackPressSample() {
var showToast by remember { mutableStateOf(false) }
var backPressState by remember { mutableStateOf<BackPress>(BackPress.Idle) }
val context = LocalContext.current
if(showToast){
Toast.makeText(context, "Press again to exit", Toast.LENGTH_SHORT).show()
showToast= false
}
LaunchedEffect(key1 = backPressState) {
if (backPressState == BackPress.InitialTouch) {
delay(2000)
backPressState = BackPress.Idle
}
}
BackHandler(backPressState == BackPress.Idle) {
backPressState = BackPress.InitialTouch
showToast = true
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1604 次 |
| 最近记录: |