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是重量级信息提示组件。

 

文哥博客(https://wenge365.com)属于文野个人博客,欢迎浏览使用

联系方式:qq:52292959 邮箱:52292959@qq.com

备案号:粤ICP备18108585号 友情链接