5

我启动了一个新的 Android 应用程序,但我遇到了一个问题。

我想在一些 ImageViews 中编写一个 ViewFlipper。(其实不难)

当用户单击元素时,元素应该会转动(使用此 3D-Flip 动画: http: //www.inter-fuser.com/2009/08/android-animations-3d-flip.html )。(我也已经实现了这个)。

我的想法只适用于 ViewFlipper 中的第一个元素。我开始放大第一个视图,但新元素没有翻转。

是否可以使用其 onclick 事件“克隆/复制”第一个视图,以便第二个视图也翻转?

感谢帮助。

4

2 回答 2

3

最好和最简单的解决方案在这里: https ://github.com/genzeb/flip

通过执行以下操作在任何 ViewAnimator(例如 ViewFipper)中使用翻转过渡:

AnimationFactory.flipTransition(viewFlipper, FlipDirection.LEFT_RIGHT);

于 2015-11-22T04:31:15.543 回答
1

您可以将其用作示例,这是一个对象动画师。:

    <?xml version="1.0" encoding="utf-8"?>
    <objectAnimator xmlns:android="http://schemas.android.com/apk/res/android"
        android:propertyName="rotationY"
        android:valueFrom="0"
        android:valueTo="360" >
    </objectAnimator>

我注意到一些教程只声明 valueTo。这将只允许您翻转一次,因为您的视图已经在 360 上,它不会再翻转,因此也始终使用 valueFrom。这是可以翻转任何视图的代码:

    public static void flip(Context context, View view) {
    ObjectAnimator anim = (ObjectAnimator) AnimatorInflater.loadAnimator(
            context, R.animator.flip);
    anim.setTarget(view);
    anim.setDuration(1000);
    anim.end();
    anim.start();
}
于 2013-06-17T10:20:30.433 回答