IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> Android 11 下 Toast 变化,不能自定义 Toast 了?,android音频面试 -> 正文阅读

[移动开发]Android 11 下 Toast 变化,不能自定义 Toast 了?,android音频面试

作者:template-box

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IwaJwl36-1637829931743)(https://user-gold-cdn.xitu.io/2020/4/29/171c55054ee42e60?imageView2/0/w/1280/h/960/ignore-error/1)]

  1. 禁止后台自定义 Toast

  2. text toast 不允许自定义

  3. setView() 被弃用

  4. 新增 Toast.Callback 回调

Android 11 API 变更

禁止后台自定义 Toast

自定义 Toast 「不能」 在 app 处于后台时显示,取而代之会显示 **「"Background custom toast blocked for package [packageNa

《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》

【docs.qq.com/doc/DSkNLaERkbnFoS0ZF】 完整内容开源分享

me] See g.co/dev/toast."」** 的文本 toast

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rBQzoEN1-1637829931758)(https://user-gold-cdn.xitu.io/2020/4/29/171c5505503d9d41?imageslim)]

禁止后台自定义 Toast

普通的 text toast 不受影响

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-K6lfLHWg-1637829931759)(https://user-gold-cdn.xitu.io/2020/4/29/171c550550879430?imageslim)]

普通的 text toast 不受影响

text toast 不允许自定义

默认的 toast 是 text toast,如果想使用自定义的 toast ,需要调用 setView() 方法

在 targetSdkVersion 为 R 或更高时,调用 setGravity 和 setMargin 方法将不进行任何操作

?

官方文档中所述的 Android R 仅影响 「text toast」 ,而自定义的 toast 不受影响

?

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kuPC4pjr-1637829931760)(https://user-gold-cdn.xitu.io/2020/4/29/171c550550742aed?imageView2/0/w/1280/h/960/ignore-error/1)]

调用无效,仅影响 text toast

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MwX7Lm3K-1637829931761)(https://user-gold-cdn.xitu.io/2020/4/29/171c550550a6abd5?imageView2/0/w/1280/h/960/ignore-error/1)]

调用无效,仅影响 text toast

如图,在 text toast 中调用 setGravity 和 setMargin 方法,但 toast 位置并未居中

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y8AnQbwn-1637829931762)(https://user-gold-cdn.xitu.io/2020/4/29/171c5505519b57a3?imageView2/0/w/1280/h/960/ignore-error/1)]

在 text toast 中调用 setGravity 和 setMargin 方法

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eSRehxxQ-1637829931762)(https://user-gold-cdn.xitu.io/2020/4/29/171c550579784743?imageslim)]

并未居中,方法不生效

setView() 被弃用

setView() 方法被标记弃用

?

「Deprecated」 表示该功能目前仍可以使用,但可能会在将来的 Android 版本中删除。 建议开发人员避免长期使用此功能

?

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mLNT4uDI-1637829931763)(https://user-gold-cdn.xitu.io/2020/4/29/171c55057da1f2f9?imageView2/0/w/1280/h/960/ignore-error/1)]

setView 被弃用

可以看到,官方在一步步禁止自定义 Toast

目前是 targetSdkVersion 为 R 或更高的 app 禁止后台弹出自定义 Toast

同时将 setView() 方法标记弃用,当该方法从源码中移除后,自定 Toast 的方式将被彻底消灭

?

当然,官方提供了相应的替代品,使用 Snackbar

?

新增 Toast.Callback 回调

添加了新的回调(Toast.Callback),以通知 Toast 显示和隐藏。 可以通过以下方法轻松将其添加到 Toast 中:

val?toast?=?Toast.makeText(this,?R.string.simple2_toast,?Toast.LENGTH_SHORT) toast.addCallback(object?:?Toast.Callback()?{ override?fun?onToastShown()?{ super.onToastShown() Log.d(TAG,?"onToastShown") } override?fun?onToastHidden()?{ super.onToastHidden() Log.d(TAG,?"onToastHidden") } }) toast.show()

一些小 tips 及 demo

demo 在这 ,切换 Flavor 即可指定不同的 targetSdkVersion

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7YdmK8cw-1637829931763)(https://user-gold-cdn.xitu.io/2020/4/29/171c5505806cb855?imageView2/0/w/1280/h/960/ignore-error/1)]

切换 Flavor

在写 demo 时遇到一些小问题

tip1

Handler() 无参构造方法和 Handler(Handler.Callback) 构造方法 被弃用了

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RNM8HyHZ-1637829931764)(https://user-gold-cdn.xitu.io/2020/4/29/171c550583fe9a35?imageView2/0/w/1280/h/960/ignore-error/1)]

无参构造器被弃用

简单来讲就是在初始化 Handler 时要显示的配置 Looper

Handler 使用不当会有这样一种 bug,例如在子线程通过无参构造函数创建 Handler,您可能会看到这样的异常

yHZ-1637829931764)]

无参构造器被弃用

简单来讲就是在初始化 Handler 时要显示的配置 Looper

Handler 使用不当会有这样一种 bug,例如在子线程通过无参构造函数创建 Handler,您可能会看到这样的异常

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-11-26 08:57:51  更:2021-11-26 08:58:42 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 6:02:25-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码