将变换动画从一个视图应用到另一个视图

Apply transform animation from view to another view

我想使用动画转换两个视图。例如,我有一个带有文本的 TextView 和一个带有图像的 ImageView。我希望能够在 TextView 和 ImageView 之间做出转换效果。有人知道怎么做吗? Android 有一些库吗?提前致谢!

我的意思是这样的:

您不能在 Android 中的两个 Views 之间变形。但是,您可以通过变形这些视图的位图来产生这种情况的错觉。

你在问题中展示的那个并没有从一种观点转变为另一种观点。它是在同一视图中完成的自定义绘图。如果您考虑一下,它只是对 ViewonDraw() 内的行进行操作。这就是你在正常情况下的做法。所以如果你想在你的应用程序中做这种动画,你需要编写你自己的自定义 View 并做你自己的绘图。

但是如果您要在导航栏中执行此操作,就像您在问题中显示的那样,您需要编写自己的自定义 ActionBarDrawerToggle。您可以在此处参考代码:http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/5.0.2_r1/android/support/v7/app/ActionBarDrawerToggle.java

这里面可以参考静态classDrawerArrowDrawableToggle。但是大部分工作是在其父classDrawerArrowDrawable中完成的。这是 Android 中默认提供的 Hamburger to Arrow 动画的负责人。所以你需要自己写 Drawable.

 /**
  * A drawable that can draw a "Drawer hamburger" menu or an arrow and animate between them.
  * <p>
  * The progress between the two states is controlled via {@link #setProgress(float)}.
  * </p>
  */
 public class DrawerArrowDrawable extends Drawable{}