Android 11(R)是2020年的下一代 Android,Google 于前段时间发布了 Android 11: Developer Preview 3
在 Android 11 Toast 的行为发生了变更
主要是以下四点
- 禁止后台自定义 Toast
- text toast 不允许自定义
- setView() 被弃用
- 新增 Toast.Callback 回调
自定义 Toast 「不能」 在 app 处于后台时显示,取而代之会显示 「"Background custom toast blocked for package [packageName] See g.co/dev/toast."」 的文本 toast
普通的 text toast 不受影响
text toast 不允许自定义
默认的 toast 是 text toast,如果想使用自定义的 toast ,需要调用 setView() 方法
新增 Toast.Callback 回调
添加了新的回调(Toast.Callback),以通知 Toast 显示和隐藏。可以通过以下方法轻松将其添加到 Toast 中:
override fun onToastShown() {
super.onToastShown()
Log.d(TAG, "onToastShown")
}
override fun onToastHidden() {
super.onToastHidden()
Log.d(TAG, "onToastHidden")
}