0

我有一个选项卡(起诉片段),选项卡内容实际上是一个视图翻转器。

Flipper 的第一页显示图像列表。当我单击某些项目时,我会转到 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>

然后我像这样使用它们:

当我想显示视图翻转器的第二个孩子时:

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