2013-03-26 69 views
5

道歉,如果這之前已被問到,但我已經嘗試使用Google搜索主題沒有任何好結果。基本上我試圖找到一個谷歌決定棄用的圖庫小部件的替代品。到目前爲止,我有以下候選人:android.widget.Gallery的替代品(而不是圖庫應用程序)

  1. ViewPager。不幸的是(據我所知),一次只能顯示一個視圖。我知道有人在此發佈瞭解決方法:https://gist.github.com/devunwired/8cbe094bb7a783e37ad1。但是我遇到了這種方法的問題。在我的手機上,顯示了三張圖像(水平)。最左邊的&最右邊是靜態的,而中間的是可滾動的(就像ViewPager應該做的那樣)。即最左邊的&最右側的圖像不滾動,因爲我滾動ViewPager。所以我必須拒絕這個解決方案。

  2. GridView。看起來不錯,但看起來好像GridView被設計爲垂直水平滾動&。我只想要一行,並水平滾動。據我所知,Gallery的設計並沒有考慮到這一點。

  3. Horizo​​ntalScrollView。谷歌在Javadocs中提出的另一個(除了ViewPager)。似乎是一個很好的使用,但是...如果我理解正確,使用這種方法,所有的內容將被預先實例化。有沒有懶加載..

所以我很困惑在這裏。似乎最好的解決方案是一次只使用一個View的ViewPager(不符合我想要的),或者堅持使用Gallery。

人們認爲什麼?

在此先感謝!

+0

http://code.google.com/p/android-ui-utils/downloads/detail?name=CarouselExample.zip。旋轉木馬3d與renderscripts。 – Raghunandan 2013-03-26 09:36:18

回答

-2

android.support.v4.view.ViewPager是確定的答案。

您可以顯示任意數量的頁面(View s),這一切都取決於PagerAdapter。它有一個方法.getPageWidth(position),它會爲每個頁面調用。例如,如果它返回0.5,則頁面將只是ViewPager的一半寬度。

不要堅持Gallery,因爲它有內存泄漏問題。

+1

嗨。是的,我知道getPageWidth方法。不幸的是,它顯示了左側的當前視圖,而不是中間的視圖(我認爲這很有誤導性)。另外,我有一個onPageChangeListener()來顯示當前頁面的一些文本。看起來,如果所有的視圖都已經顯示出來,我不能'激活'最後一個視圖。舉例來說,屏幕一次可顯示5個項目。當用戶滾動到最後一頁時(例如總計28個項目),則最後一頁將顯示項目26-28。但是我無法將頁面「更改」爲項目27和28,因爲它們已經顯示。我希望這是有道理的 – 2013-03-26 10:26:44

相關問題