2010-08-22 59 views
81

它們都繼承ViewAnimator。我知道ViewSwitcher只允許兩個視圖,而ViewFlipper允許更多。但爲什麼Android創建ViewSwitcher,如果它只是一個ViewFlipper有2個視圖?還有其他的區別嗎?在什麼情況下使用一個優於另一個的?ViewFlipper和ViewSwitcher之間有什麼區別

回答

76

從我所知道的情況來看,如果您想像您說的那樣在兩個視圖之間切換,則使用ViewSwitcher。如果你有兩個觀點,你必須定期來回來,這很有用。如果你想使用它,這個類將實現一個ViewFactory。

但是,如果您想定期更改視圖,則可以使用ViewFlipper。像是某種自動翻頁書一樣說。儘管定製適配器庫在這方面要好得多。

而且,就是這樣。它們並不比ViewAnimator更有用。爲什麼Android開發讓我感到非常神祕。

我通常只是更喜歡使用ViewAnimator,因爲它給了你更多的自由度,從而在你的設計方式上具有靈活性。但是如果你想要像ViewFactory這樣的功能,並且只有2個視圖,請使用ViewSwitcher。如果您希望能夠定期更改視圖,請使用ViewFlipper。如果你不需要使用ViewAnimator。

+0

當只有2個視圖時,工廠有什麼用? – Ali 2013-04-27 23:29:47

+0

實現了一個包含大約10個大部分文本的自定義視圖,並等待5秒鐘的第一次加載的視圖鰭狀肢,我認爲視圖工廠的好處是使初始化更快。我對前進和後退按鈕的響應也很慢。 ViewAnimator出了問題,不知道爲什麼它需要這麼長時間。我將在本週晚些時候使用traceview進行分析,並將以我學到的內容進行回溯。 – 2013-11-24 21:03:18

7

我不確定他們之間是否有任何大的差異,但從我所收集的不同之處在於,ViewSwitcher用於視圖相同但數據不同的情況下 - 比如在日曆應用程序中 - 我們只是改變視圖中的數據。

15

ViewFlipper支持兩個以上視圖,ViewSwitcher僅支持2.

+30

是不是這個問題:) – paweloque 2013-01-09 09:50:57

+0

同上,因此投票下降 – ericn 2014-02-18 03:27:13

+0

@paweloque大聲笑。 – 2015-12-06 11:29:52

相關問題