将变换动画从一个视图应用到另一个视图
Apply transform animation from view to another view
我想使用动画转换两个视图。例如,我有一个带有文本的 TextView 和一个带有图像的 ImageView。我希望能够在 TextView 和 ImageView 之间做出转换效果。有人知道怎么做吗? Android 有一些库吗?提前致谢!
我的意思是这样的:
您不能在 Android 中的两个 Views
之间变形。但是,您可以通过变形这些视图的位图来产生这种情况的错觉。
你在问题中展示的那个并没有从一种观点转变为另一种观点。它是在同一视图中完成的自定义绘图。如果您考虑一下,它只是对 View
的 onDraw()
内的行进行操作。这就是你在正常情况下的做法。所以如果你想在你的应用程序中做这种动画,你需要编写你自己的自定义 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{}
我想使用动画转换两个视图。例如,我有一个带有文本的 TextView 和一个带有图像的 ImageView。我希望能够在 TextView 和 ImageView 之间做出转换效果。有人知道怎么做吗? Android 有一些库吗?提前致谢!
我的意思是这样的:
您不能在 Android 中的两个 Views
之间变形。但是,您可以通过变形这些视图的位图来产生这种情况的错觉。
你在问题中展示的那个并没有从一种观点转变为另一种观点。它是在同一视图中完成的自定义绘图。如果您考虑一下,它只是对 View
的 onDraw()
内的行进行操作。这就是你在正常情况下的做法。所以如果你想在你的应用程序中做这种动画,你需要编写你自己的自定义 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{}