所以我有一個FragmentPagerAdapter帶有一個條形碎片(ListFragment)和一個團隊碎片(ListFragment)。當一個項目被長時間點擊時,我希望能夠從團隊選項卡中拖動它並將其放在酒吧選項卡上以建立關係。這在理論上的工作方式與主屏幕類似,如果我靠近邊緣,可以進入下一個屏幕。如何將所選的OnItemLongClick從一個ViewPager項目拖動到另一個
更新:
我使用的是3.0+或兼容庫。
我想拖動到其他選項卡上,而不是在同一個選項卡中。
所以我有一個FragmentPagerAdapter帶有一個條形碎片(ListFragment)和一個團隊碎片(ListFragment)。當一個項目被長時間點擊時,我希望能夠從團隊選項卡中拖動它並將其放在酒吧選項卡上以建立關係。這在理論上的工作方式與主屏幕類似,如果我靠近邊緣,可以進入下一個屏幕。如何將所選的OnItemLongClick從一個ViewPager項目拖動到另一個
更新:
我使用的是3.0+或兼容庫。
我想拖動到其他選項卡上,而不是在同一個選項卡中。
這取決於你的目標級別。如果您的應用程序設計爲在Android 3.0或更高版本上運行,則可以定位內置的Drag and Drop API。
如果您的應用程序需要定位以前使用過的早期版本this is a good open-source library(Github page),並試圖爲2.0或更高版本的應用程序鏡像內置API的功能。
在任何一種情況下,您都可以從onItemLongClick()
回調中啓動startDrag()
的拖動操作。
編輯:很抱歉的混亂
你必須以編程方式做基礎上,DragEvent
數據「選項卡」在您的ViewPager
變化:
ViewPager
只是支持的一部分圖書館(並沒有backported),你可能必須附加一個OnDragEventListener
到其父ViewGroup。ACTION_DRAG_LOCATION
事件觸發偵聽器。定義手指在聆聽視圖邊緣必須達到的合理閾值,並在其到達時在ViewPager
上撥打setCurrentItem()
進行切換。ViewPager
上控制),您的新選項卡在視圖層次結構中實例化,則新頁面上的視圖也應該是放置目標的候選對象,因此它們應該能夠收聽ACTION_DROP
事件。HTH
不,這不會在視圖尋呼機元素工作。我使用的是3.0+,startDrag可以工作,但不會轉到viewpager中的其他項目。我會嘗試添加更多細節。 – Jackie 2012-02-28 20:54:48
也應該是FragmentPagerAdapter不是ViewPage我的不好 – Jackie 2012-02-28 21:05:59
@Jackie更新了一些更多的想法。 – Devunwired 2012-02-28 23:40:47