問題があります。jfeinstein10 のライブラリを使用して SlideMenu を実装しました。startActivity() と Intents を使用して、さまざまなアイテム (すべての FragmentActivities) を切り替えています。通常のトランジションでは、overridePendingTransition を使用しています。ほぼすべてのアクティビティは、Jake Wharton の TabPageIndicator を使用した ViewPager です。
問題は、アニメーション付きのカスタム レイアウト (Google Now カード スタイル) を使用していることです。1 つのスライド アップと 1 つのスライド ダウンのアニメーション。LinearLayout を拡張し、アニメーションについては、子 (カード) をループして、各子のアニメーションを開始します。カードは、カスタム LinearLayout に追加された RelativeLayouts です。
私の考えは、アプリを起動した後、カードがボタンからスライドアップし(Google Nowのように)、アクティビティを切り替えると、現在のアクティビティからカードがスライドダウンし、空白になったアクティビティが新しいアクティビティにフェード(overridePendingTransition経由)で切り替わることでした。新しいアクティビティのカードが上にスライドします。
スライドアップ用に onGlobalLayoutListener を使用しようとしましたが、これは ViewPager で奇妙な動作をします (最初のタブが上にスライドし、2 番目のタブはそのままで、3 番目のタブも上にスライドします)。アニメーションは、アプリを起動した後、またはアクティビティを切り替えた後にのみ表示されます。
スライド ダウン アニメーションについては、まったくわかりません。カスタム レイアウトで追加のメソッドを作成し、onPause() で開始しようとしましたが、まったく機能しませんでした。
それで、誰かがアイデアを持っているかどうか尋ねたかったのですか?それとも、これはまったく可能ですか?この問題は本当に私を夢中にさせます:D
編集:
http://pastebin.com/8mDefv50 My 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 の Fragment で使用されます。
したがって、私の問題は、MenuFragment のアニメーションに適切な方法でアクセスすることです。ボタンのみを保持するMenuFragmentで切り替えが行われるため、ほとんどの場合NPEを取得します。たぶん、私は理解が遅いか、木よりも森が足りないのかもしれません:D