我开了一个新的Android-App,我有一个问题。
我想在一些ImageViews中编写ViewFlipper。 (不是很难)
当用户点击它们时,元素应该转动(使用此3D-Flip anim。:http://www.inter-fuser.com/2009/08/android-animations-3d-flip.html)。 (我已经实现了这一点)。
我的想法仅适用于ViewFlipper中的第一个元素。我开始给第一个视图充气,但新元素没有翻转。
是否可以使用onclick事件“克隆/复制”第一个视图,以便第二个视图也可以翻转?
感谢您的帮助。
答案 0 :(得分:3)
最好最简单的解决方案是: https://github.com/genzeb/flip
通过执行以下操作,在任何ViewAnimator(例如ViewFipper)中使用翻转过渡:
AnimationFactory.flipTransition(viewFlipper,FlipDirection.LEFT_RIGHT);
答案 1 :(得分: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();
}