2011-09-26 27 views
0

我真的需要在我的應用程序中進行水平滾動,所以我覆蓋了Gallery,我試圖用一個OnItemSelectedListener和一個我從一個OnTouchListener調用的GestureDetector來進行操作。我想要的是當我滾動時刪除圖庫項目的自動選擇,但我希望能夠點擊一個項目來選擇它。Android:如何從圖庫中刪除選擇行爲?

如果我在適配器中填充的視圖上設置了OnClick偵聽器,則圖庫無法滾動。此外,OnItemClicked事件永遠不會被我在圖庫上爲它設置的偵聽器調用。

+0

你是什麼意思自動選擇?還有,你有沒有圖片在畫廊或什麼? –

+0

當您左右移動畫廊時,會自動將「居中」項目設置爲「已選中」。畫廊在這裏:http://developer.android.com/resources/tutorials/views/hello-gallery.html –

回答

3

要從你應該這樣做的所有項目中刪除的選擇:

youGallery.setUnselectedAlpha(1); 
0

爲了您的情況,爲什麼不只是使用HorizontalScrollView。只需在內部添加線性佈局,並根據需要添加儘可能多的圖像視圖(如果使用圖像),或者動態地將其添加到Java代碼中。

默認情況下,這將顯示圖庫的選擇。這將比嘗試覆蓋圖庫窗口小部件默認方法更容易。

+0

我不知道我要放多少個視圖,因爲它是來自服務器的數據,通常很大。我需要查看回收,所以我不會遇到內存問題。 –

+0

那麼爲什麼你不能用horizo​​ntalScroolView來做到這一點? –

+0

我不想寫視圖回收代碼,並且它不容易從適配器讀取。我正在尋找最簡單的解決方案,但似乎沒有。 –

-1

爲什麼不設置一些標籤,而您點擊圖庫中的項目來選擇。 現在再次當您選擇該項目後點擊,只需檢查您已設置的標籤,並根據條件,您可以移動到新的屏幕以及任何您想要執行的任務。

但請牢記一點,您必須在構建圖庫視圖時爲每個圖庫項目設置標籤。

我希望你能得到我想說的。
如果您還有任何問題,請告訴我。
我有相同的場景,我解決了這個問題。