为什么用Toast,而不是AlertDialog
之前用其他平台,比如win32或者wp的时候,一直都是MessageBox,感觉MessageBox对话框还是比较好用的。之后做android开发,意外的发现android有AlertDialog以及Toast,一直在想为什么有了AlertDialog还需要Toast。
为什么Android会出现Toast。
首先看下Google官方的关于Toastclass解释。
Atoastisaviewcontainingaquicklittlemessagefortheuser.Thetoastclasshelpsyoucreateandshowthose.
Toast是一个包含了简短信息的视图。Toast类帮助你创建以及显示它们。
Whentheviewisshowntotheuser,appearsasafloatingviewovertheapplication.Itwillneverreceivefocus.Theuserwillprobablybeinthemiddleoftypingsomethingelse.Theideaistobeasunobtrusiveaspossible,whilestillshowingtheusertheinformationyouwantthemtosee.Twoexamplesarethevolumecontrol,andthebriefmessagesayingthatyoursettingshavebeensaved.
当视图被显示时,在应用程序上出现一个浮动的图层。它永远不能被聚焦(即无法响应各种点击事件等等)。用户可能正在中间输入什么。Toast设计被用来尽量不引人注目,但是又要想用户显示你(开发者)向要他们看到的东西。两个例子就是音量控制,以及简短的设置已保存的信息。
TheeasiestwaytousethisclassistocalloneofthestaticmethodsthatconstructseverythingyouneedandreturnsanewToastobject.
最简单的使用该类的办法就是调用静态构造函数构造你需要的所有的东西,然后静态函数返回一个新的Toast对象。
从官方说明来看,Toast是为了不过分的打扰用户,但是又想让用户看到一些信息的一个解决方案。Toast在显示完信息后,一段时间,会自动关闭,根本无需用户有任何操作。但如果要持续的更新一些信息,Toast就不太好用了,需要用Notification。
而对话框是为了引起用户注意,或者作出一些选择的时候才出现的。
从细节上来说,Toast是一个很好的解决方案吗,比Win32的一刀切的MessageBox好多了,很多时候用MessageBox的时候根本没有什么重要的信息,用户还得专门去把它关掉。
不得吐槽下Android下创建一个对话框(AlertDialog)真是麻烦,要写那么多代码,而Win32或者WindowsPhone那么简单(跟Toast那样,一行简单的代码就可以搞定)。
转载请注明,禁止用于商业用途。
更多相关文章
- android同步取得电池状态信息
- android AndroidManifest.xml中android:configChanges的简介
- 【ArcGIS for Android】使用自定义Callout显示地图信息
- 使用MAT分析应用的内存信息
- Android中的UID、GID与应用安全
- Android(安卓)继承DialogFragment弹出dialog对话框
- 【Android(安卓)Developers Training】 100. 使用Intent修改联系
- update升级包版本信息的读取
- Phonegap Device 获取设备信息