Toast窗口的源码分析

这篇博客详细分析了Android中Toast的创建和显示过程,从makeText()方法开始,探讨了如何通过LayoutInflater构建View,设置TextView并显示。接着介绍了Toast如何与NotificationManagerService交互,包括TN内部类的作用以及如何通过进程通信展示和隐藏Toast窗口。文章还解释了Toast的显示和消失机制,以及在队列中的管理。最后,提供了显示和消失的时序图帮助理解整个流程。
摘要由CSDN通过智能技术生成
今天写个帖子,主要讲解一下我自己对Toast的理解和创建流程。
整个过程大部分都是分析源码。不多废话了,马上开始。

为了更加直观,先上使用代码:
Toast.makeText(context, "hello toast", 1).show();

咱们一般用Toast来提示信息,比如eoe的安卓客户端按两次返回的推出提示

咱们看下Toast的创建及显示过程吧:

就从makeText()这个方法看起:

231行:创建一个Toast对象
234行:通过LayoutInflater构造一个要显示的View对象v
236行:从v中找出用来提示文字的TextView对象 tv
237行:把提示文字设置给tv
239行:把v赋值给Toast的mNextView变量,这个mNextView就是Toast要显示的view 
240行:把程序员传过来的时间赋值给Toast的mDuration
这样就把创建的Toast对象返回
创建完Toast对象之后接着就是开始显示Toast了
那么这里就调用了show()方法了
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值