我从这篇文章中了解到,使用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)