私はタブ(フラグメントを訴える)を持っていて、タブのコンテンツは実際にはビューフリッパーです。
フリッパーの最初のページには、画像のリストが表示されます。いくつかのアイテムをクリックすると、Flipperのページ2に移動します。これにより、画像がフルスクリーンで表示されます。[戻る]をクリックすると、リストビュー(すべての画像を含む)に移動します。ViewFlipperにアニメーションを出し入れするまで、すべてが期待どおりに機能します。アニメーションを翻訳アニメーションに設定した後、画面に触れるまで何も表示されません。画面をタッチすると画像が表示され、タッチしない場合は空のタブコンテンツが表示されます。
サポートパッケージのViewFlipperとFragmentsを使用しています。
これはある種の予想される動作または問題ですか?
追加されたアニメーション
left_to_right_in.xml:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="700"
android:fromXDelta="-220%"
android:fromYDelta="0"
android:interpolator="@android:anim/accelerate_interpolator"
android:toXDelta="0"
android:toYDelta="0" />
</set>
left_to_right_out.xml:
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="700"
android:fromXDelta="0"
android:fromYDelta="0"
android:interpolator="@android:anim/accelerate_interpolator"
android:toXDelta="220%"
android:toYDelta="0" />
</set>
right_to_left_in.xml:
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="700"
android:fromXDelta="220%"
android:fromYDelta="0"
android:interpolator="@android:anim/accelerate_interpolator"
android:toXDelta="0"
android:toYDelta="0" />
</set>
right_to_left_out.xml:
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="700"
android:fromXDelta="0"
android:fromYDelta="0"
android:interpolator="@android:anim/accelerate_interpolator"
android:toXDelta="-220%"
android:toYDelta="0" />
</set>
そして、私はそれらを次のように使用します:
ビューフリッパーの2番目の子を表示したい場合:
mViewFlipper.setInAnimation(AnimationUtils.loadAnimation(getActivity(), R.anim.left_to_right_in));
mViewFlipper.setOutAnimation(AnimationUtils.loadAnimation(getActivity(), R.anim.left_to_right_out));
mViewFlipper.showPrevious();
最初の子供に戻りたいとき:
mViewFlipper.setInAnimation(AnimationUtils.loadAnimation(getActivity(), R.anim.right_to_left_in));
mViewFlipper.setOutAnimation(AnimationUtils.loadAnimation(getActivity(), R.anim.right_to_left_out));
mViewFlipper.showNext();