他们俩都继承ViewAnimator。我知道ViewSwitcher仅允许两个视图,而ViewFlipper允许更多视图。但是ViewSwitcher,如果Android仅创建了ViewFlipper2个视图,为什么还要创建它呢?还有其他区别吗?在什么条件下使用一种优于另一种?
Answers:
据我所知,如果您要像您说的那样在两个视图之间切换,则使用ViewSwitcher。如果您有2个必须定期往返的视图,则很有用。如果您想使用它,该类将实现ViewFactory。
但是,如果要定期更改视图,则可以使用ViewFlipper。像某种自动翻转书一样。尽管定制适配器画廊在这方面要好得多。
是的,仅此而已。实际上,它们并没有比ViewAnimator有用得多。为什么Android开发能产生任何效果对我来说真的是一个谜。
我通常只喜欢使用ViewAnimator,因为它为您提供了更大的自由度,从而为您提供了更多的设计灵活性。但是,如果要使用ViewFactory之类的功能并且只有2个视图,请使用ViewSwitcher。如果您希望能够定期更改视图,请使用ViewFlipper。如果不需要,请使用ViewAnimator。
我不确定它们之间是否存在较大差异,但是从我收集到的差异来看,ViewSwitcher用于视图相同但数据不同的环境(例如在日历应用程序中),我们只是更改视图中的数据。
应用窗口小部件中允许使用ViewFlipper,而ViewSwitcher则不允许。
https://developer.android.com/guide/topics/appwidgets/index.html#CreatingLayout