Android 小吃条vs吐司
我是android开发的新手,我对上下文和视图感到困惑。所以,我只想知道为什么我们在Snackbar中传递视图,而在Toast中传递上下文,同时使用两者来显示通知/消息。Android 小吃条vs吐司,android,toast,snackbar,Android,Toast,Snackbar,我是android开发的新手,我对上下文和视图感到困惑。所以,我只想知道为什么我们在Snackbar中传递视图,而在Toast中传递上下文,同时使用两者来显示通知/消息。Snackbar遍历视图树,直到它决定放置在哪里。然后,它将自身附加到视图树。因此,它需要一个附加到视图树的视图作为起点 Toast只是在屏幕上显示一条浮动消息。它不需要附加到任何视图,因此不需要视图对象。但是,它确实需要一些平台知识,因此上下文是合适的。aToast仅显示在当时屏幕上出现的任何内容的顶部。它与当时屏幕上出现的内
Snackbar
遍历视图树,直到它决定放置在哪里。然后,它将自身附加到视图树。因此,它需要一个附加到视图树的视图作为起点
Toast
只是在屏幕上显示一条浮动消息。它不需要附加到任何视图,因此不需要视图对象。但是,它确实需要一些平台知识,因此上下文
是合适的。aToast
仅显示在当时屏幕上出现的任何内容的顶部。它与当时屏幕上出现的内容没有任何联系。事实上,您的Toast
可以显示在另一个完全不同的应用程序上Toast
需要上下文
,因为您可以将资源ID作为参数传递,Android需要访问应用程序的资源(通过上下文
)。Android还需要一个上下文
,因为它将您的Toast
绑定到您的应用程序,以便在某些情况下能够清理它
Snackbar
与应用程序的UI的耦合更紧密。Snackbar
是一个与应用程序的视图继承权相关联的视图。创建Snackbar
时,将视图
作为参数传递,以便Android可以扫描视图继承人权限,在视图继承人权限内找到适当的位置来创建Snackbar
。如果视图继承人权限包含协调人布局
,则Snackbar
会获得其他行为(滑动以取消,将浮动操作按钮移开)。如果没有用户界面,Snackbar
将无法显示,而Snackbar
也无法显示在其他应用程序的用户界面中