0

私はタブ(フラグメントを訴える)を持っていて、タブのコンテンツは実際にはビューフリッパーです。

フリッパーの最初のページには、画像のリストが表示されます。いくつかのアイテムをクリックすると、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();
4

0 に答える 0