Toast、Snackbar、Dialog(AlertDialog)信息提示三大组件
所属分类:Android | 发布于 2023-12-25 15:23:10
App开发中信息提示常用功能,在Android开发中,最常用的是Toast、Snackbar和Dialog(AlertDialog)三大组件。
1、Toast
toast是最轻量级的信息提示弹窗组件。提示信息展示特定时间后自动消失。
1.1、基本用法
Toast.makeText(context, "Hello, Toast", Toast.LENGTH_SHORT).show()
1.2、高级用法,增加显示和隐藏事件
val toast = Toast.makeText(appState.context, event.text, Toast.LENGTH_SHORT)
toast.addCallback( object: Toast.Callback() {
override fun onToastShown() {
}
override fun onToastHidden() {
}
})
toast.show()
注意,这个addCallback()方法最低支持API30,也就是Android 11,这个版本以下的需要自己实现。
2、Snackbar
Snackbar是比Toast稍重一些的信息提示组件,可以增加一些额外操作。
2.1、showSnackbar定义
suspend fun showSnackbar(
message: String,
actionLabel: String? = null,
withDismissAction: Boolean = false,
duration: SnackbarDuration = if (actionLabel == null) SnackbarDuration.Short else SnackbarDuration.Indefinite
): SnackbarResult
2.2、基本用法
val snackbarHostState = remember { SnackbarHostState() }
val result = snackbarHostState.showSnackbar(
message = "Snackbar #",
actionLabel = "Action on "
)
when (result) {
SnackbarResult.ActionPerformed -> {
/* action has been performed */
}
SnackbarResult.Dismissed -> {
/* dismissed, no action needed */
}
}
3、Dialog(AlertDialog)
Dialog是重量级信息提示组件。