2013-03-13 112 views
2

好的我有問題。我用jfeinstein10的庫實現了一個SlideMenu。我使用startActivity()和Intents在不同的項目(所有FragmentActivities)之間切換。對於正在使用overridePendingTransition的正常轉換。幾乎所有的活動都是來自Jake Wharton的TabPageIndicator的ViewPagers。用於在活動之間切換的動畫

事情是我正在使用帶動畫的自定義佈局(Google Now卡樣式)。一個向上滑動,一個向下滑動動畫。我擴展了LinearLayout,併爲動畫I循環子對象(卡片)併爲每個孩子開始動畫。這些卡片是RelativeLayouts添加到自定義LinearLayout。

我的想法是,在啓動應用程序後,卡片從buttom(Google Now like)滑出,當我切換活動時,當前活動的卡片向下滑動,然後現在空白的活動切換到新的活動, (通過overridePendingTransition),並且新Activity的卡片向上滑動。

我試圖使用onGlobalLayoutListener作爲滑動的東西,但這在ViewPager中表現怪異(第一個標籤向上滑動,第二個向下滑動,第三個向下滑動)。只有在啓動應用程序或在活動之間切換後,動畫纔會顯示。

對於滑動下來的動畫我根本沒有線索。我嘗試在自定義佈局中創建一個額外的方法,並使用onPause()開始 - 完全不工作。

所以我想問問有沒有人有想法?或者這可能呢?這個問題真讓我發瘋:d

編輯:

http://pastebin.com/8mDefv50我NowLayout

https://github.com/jfeinstein10/SlidingMenu/blob/master/example/src/com/slidingmenu/example/fragments/ResponsiveUIActivity.java 基本上是我的基本UI(與content_frame相同的方法和檢查menu_frame)。菜單本身包含幾個啓動不同FragmentActivities的按鈕。

FragmentActivities只管理ViewPager。真正的內容和NowLayout被用於ViewPager的片段。

所以我的問題是以不錯的方式訪問MenuFragment中的動畫。大多數情況下獲得NPE是因爲在僅保存按鈕的MenuFragment中完成了切換。也許我對攝影速度緩慢,或者我錯過了樹木的森林:D

回答

1

在調用新活動的Intent之前應該執行的滑下動畫 - 而不是onPause(),因爲太晚了。

因此,當您需要從當前活動向前或向後移動時 - 執行向下滑動動畫時,將監聽器放在此動畫的結尾處,然後根據需要執行finish()/ startActivity()。

+0

之前嘗試過。用更多的信息編輯了第一篇文章 – vork 2013-03-14 06:01:23