kotlin 如何显示自定义吐司使用喷气背包组成?

mlnl4t2r  于 2023-06-24  发布在  Kotlin
关注(0)|答案(1)|浏览(133)

我想展示定制吐司。如何做到这一点?
这是我的代码,但这是过时的,它崩溃了日志:

java.lang.IllegalStateException: ViewTreeLifecycleOwner not found from androidx.compose.ui.platform.ComposeView{3ed3fe7 V.E...... ......I. 0,0-0,0}
Toast
            .makeText(context, "TESTTESTTEST", Toast.LENGTH_SHORT)
            .apply {
                view = ComposeView(context).apply {
                    setContent {
                        CustomToastWithIcon(
                            message = stringResource(id = R.string.cart),
                            ImageVector.vectorResource(id = R.drawable.ic_info)
                        )
                    }
                }
            }
            .show()

我试着这样定义,但还是崩溃了。

val composeView = ComposeView(context).apply {
            setViewTreeLifecycleOwner(this.findViewTreeLifecycleOwner())
            setContent {
                CustomToastWithIcon(
                    message = stringResource(id = R.string.cart),
                    ImageVector.vectorResource(id = R.drawable.ic_info)
                )
            }

上一篇:自定义吐司in Jetpack Compose
或者是可以改变背景和图标从功能

Toast
            .makeText(context, message, Toast.LENGTH_SHORT)

编辑:带支架的小吃店是一个解决方案

gcuhipw9

gcuhipw91#

Snackbar是最值得推荐的。但是如果你想使用“吐司”,你可以定义你自己的可组合。

@Composable
fun Toast(message:String){
    makeText(LocalContext.current,message, Toast.LENGTH_SHORT).show()
}

确保导入导入android.widget.吐司导入android.widget.Toast.makeText

相关问题