2016-04-21 53 views
0

我必須向用戶顯示火車票的集合,所以我使用了ViewPager,每個頁面都包含一張票。這個ViewPager有填充,允許看到下一張/上一張票的一小部分,同時在中間顯示重點票。ViewPager with page pop

但我想實現的是,當我按下一張票頁時,我希望它順利地擴展到「全屏」。我不知道在這種情況下使用ViewPager是否是更好的解決方案,因爲我正在擴展查看傳呼機中片段內的內容,而「擴展故障單」是另一個活動。

我喜歡ViewPager,因爲它按照我喜歡的方式將頁面居中。

作爲我想要做的一個例子是here

用戶點擊尋呼機/收藏夾的一個項目,並順利地擴展到全屏。

我在問的是如果有人知道實現這一目標的最佳方式。我應該繼續使用ViewPager嗎?我應該使用RecyclerView嗎?

在此先感謝

若昂

回答

0

什麼你要找的項目是共享的元素單擊 https://guides.codepath.com/android/Shared-Element-Activity-Transition

和Android支持庫可以幫助你提高設計像什麼做的您提供的鏈接 http://android-developers.blogspot.com/2015/05/android-design-support-library.html

+0

我想過了,我認爲這是最好的方法。我唯一讓我不馬上使用的是因爲我在viewPager中使用了片段。我不確定,但我認爲共享視圖只能在片段之間或活動之間,而不是在片段和活動之間。 –

0

您需要先獲取當前視圖:

View view = MyActivity.mViewPager.getFocusedChild(); 
  • 設置該視圖的onclick監聽器;
  • 用ScaleAnimation創建AnimationSet;
  • 最後,將AnimationSet添加到您使用上面顯示的代碼的視圖中。

甚至可以通過將「彈出」快速縮放到比想要的大小更大的尺寸來添加/複製,然後縮放到最終大小但使用較慢的動畫。通過在ScaleAnimation上使用setDuration來設置速度。

+0

嘗試實施它,並告訴我你得到的東西如果卡住了:) – Iain

+0

這是一個選項,但是由於我在展開的視圖中展示了很多東西,我希望它能在不同的活動中進行更好的管理猜測。因爲如果每個頁面都有一個複雜的佈局,它會在較舊的設備上運行得非常慢:/ –

+0

我明白了。那麼我猜想只有一種方法可以找出答案。如果你想在一個活動中使用,那麼只需使用on touch來打開一個新的活動並且膨脹那個viewpager項目視圖。 – Iain