像成千上萬的其他開發人員一樣,我想要一個水平的圖像庫。 (在我的情況下,我想在頁面瀏覽器的頁面)。然後我聽說有一個名爲android.wiget.Gallery的小部件是專爲這種情況設計的。水平滾動視圖:它真的是一個解決方案嗎?
不久,我開始聽到Gallery已被棄用,並且檢查了StackOverflow,其他帖子之後提示HorizontalScrollView是要走的路。
我放棄了Gallery並在HorizontalScrollView中設置了所有內容。我首先注意到,HorizontalScrollView實際上不是一個小部件,它只能處理一個根佈局。好的,所以我將根佈局實現爲LinearLayout。在LinearLayout中添加我所有的可滾動條,並意識到HorizontalScrollView也沒有適配器。沒問題,我會循環瀏覽視圖,逐個渲染它們,然後使用AsyncTask來加載圖片。在4.03上正常工作。然後我在2.2上運行它,猜測是什麼,有太多的異步任務正在運行 - 所以它崩潰了。 也許只有一個AsyncTask可以運行,但有超過30個圖像。現在我開始再次考慮畫廊。
但後來我聽到有一個HorizontalListView。我實現了它,加上一個適配器。除了現在滾動不是很順利(在ViewPager的一個頁面內),並且在重新加載多次後(在ViewPager的一個頁面內)它會卡住。我想知道是否應該花更多時間修改HorizontalListView或重新訪問我的三個其他實現。也許我不應該如此認真對待這種棄用。
有什麼建議嗎?
結語:
最後,我決定去與留的HorizontalScrollView的內部ViewPager,並使用HorizontalListView的其他情形。這是由於滾動效率,閃電般快速,我終於可以通過在HorizontalScrollView中重寫onScroll來制定自定義適配器,並且與CountDownTimer結合定期更新一個範圍內的圖像,而不管速度如何。建議的另一個解決方案是在速度足夠慢時使用速度開始下載。如果HorizontalListView支持檢查它在ViewPager中的行爲,那將是非常好的,因爲我確信它可以被優化和改進。如果我有更多時間,這將是我的首選解決方案。但時間稍縱即逝..
什麼是'HZListView'?你寫的東西? –
@ K-ballo'HorizontalListView'也許是簡寫? –
沒有它的https://github.com/vieux/Android-Horizontal-ListView – user1847544