KTX 吐司扩展功能在哪里


我从这篇文章中了解到,使用Android KTX

进行更甜蜜的Android开发(https://www.kotlindevelopment.com/even-sweeter-android-ktx-kotlin/)可以使用KTX简化Android toast。

Toast.makeText(context, R.string.toast_message, Toast.LENGTH_SHORT).show()

toast(R.string.toast_message)

我想在我的项目中尝试它,但我在androidx.core:core-ktx:1.0.0找不到它。那么这个扩展函数在哪个依赖关系中呢?

看起来像上下文.toast扩展已从 ktx 库中删除https://github.com/android/android-ktx/issues/143#issuecomment-417891391

你可以添加一个方法扩展来实现,据我所知,没有现成的。


    fun Context.toast(message: String, duration: Int = Toast.LENGTH_SHORT) {
        Toast.makeText(this, message, duration).show()
    }
    fun Context.toast(@StringRes resId: Int, duration: Int = Toast.LENGTH_SHORT) {
       Toast.makeText(this, this.resources.getText(resId), duration).show()
    }

添加这个

api "org.jetbrains.anko:anko-commons:0.10.1"

并像使用它一样使用

toast(R.string.toast_message)

context.toast(R.string.toast_message)