片段内的 3d 翻转动画

3d flip animation inside a fragment

我想在片段内的两个图像视图上实现 3d 翻转动画。 我有两个人体图像,即正面和背面。我想要的是在用户单击按钮时将前面的图像翻转到后面。所有这些都在标签片段中。

我搜索了 1 个多小时,但没有得到任何有用的信息。 我得到了一些与 hoe 相关的结果,以实现带有片段的 3d 翻转动画,但没有得到任何与我想要的相关的结果。

谁能帮我解决这个问题?

谢谢

"Flip" 动画与 ObjectAnimator 相当简单。一个示例实现可以是:

ObjectAnimator animator = ObjectAnimator.ofFloat(mImageView, "rotationY", 0F, 360F);
animator.setDuration(1000);
animator.setInterpolator(new AccelerateDecelerateInterpolator());
animator.start();

这应该翻转你的 ImageView 并给你一个开始的地方。

编辑: 你也许可以将第一个 ImageView 翻转为 180F(这样它实际上就变得不可见了),然后使用 AnimatorListener 在第二个 ImageView 上开始另一个翻转,同样是 180F,所以看起来一个图像已经过渡到另一个图像。

我觉得你看起来像这样。

 image1 = (ImageView) findViewById(R.id.ImageView01);
 image2 = (ImageView) findViewById(R.id.ImageView02);
 image2.setVisibility(View.GONE);



image1.setOnClickListener(new View.OnClickListener() {
  public void onClick(View view) {
  if (isFirstImage) {       
  applyRotation(0, 90);
  isFirstImage = !isFirstImage;

  } else {    
  applyRotation(0, -90);
 isFirstImage = !isFirstImage;
 }
 }
});      




private void applyRotation(float start, float end) {
// Find the center of image
final float centerX = image1.getWidth() / 2.0f;
final float centerY = image1.getHeight() / 2.0f;

// Create a new 3D rotation with the supplied parameter
// The animation listener is used to trigger the next animation
final Flip3dAnimation rotation =
   new Flip3dAnimation(start, end, centerX, centerY);
rotation.setDuration(500);
rotation.setFillAfter(true);
rotation.setInterpolator(new AccelerateInterpolator());
rotation.setAnimationListener(new DisplayNextView(isFirstImage,    image1,   image2));

if (isFirstImage)
{
image1.startAnimation(rotation);
} else {
image2.startAnimation(rotation);
}

}

你可以从这里找到完整的源代码 http://www.inter-fuser.com/2009/08/android-animations-3d-flip.html

希望对你有帮助you.Good运气