Android L变形动画

时间:2015-02-17 13:12:28

标签: android animation material-design

有没有人知道一个好的库或方法来实现图标和图像的变形。尤其是寻找将播放按钮发送到暂停按钮的方法,反之亦然。

例如,我建议您在Play商店中查看全新的Android YouTube应用。或者访问此链接:

http://www.google.com/design/spec/animation/delightful-details.html

查看右侧视频。

非常感谢任何帮助。我已经注意到材料菜单github页面确实做了一些按钮变形。但这只能通过转换旋转3条单线来实现。

https://github.com/balysv/material-menu/blob/master/library/src/main/java/com/balysv/materialmenu/MaterialMenuDrawable.java

这实际上不是预期的效果。

提前致谢

1 个答案:

答案 0 :(得分:5)

看看这个图书馆:https://github.com/wnafee/vector-compat 它提供了AnimatedVectorDrawable和MorphButton,它可以完全满足您的需求。

<强>说明
1 - 将vector-compat依赖项添加到build.gradle文件中,并确保使用buildToolsVersion 22或更高版本:

android {
    // use version 22 or higher
    buildToolsVersion "22.0.1"
    ...
}
dependencies {
    compile 'com.wnafee:vector-compat:1.0.5'
    ...
}

2 - 在布局xml中添加MorphButton视图

<com.wnafee.vector.MorphButton
    android:id="@+id/playPauseBtn"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:vc_startDrawable="@drawable/ic_pause_to_play"
app:vc_endDrawable="@drawable/ic_play_to_pause" /> 

要在您的应用中使用MorphButton,请确保在您的基本应用主题中包含morphButtonStyle项目:

<style name="MyAppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="morphButtonStyle">@style/Widget.MorphButton</item>
</style>

用于播放/暂停和播放/停止的动画矢量绘图已包含在库中,因此上面的代码开箱即用,您不需要自己导入任何额外的drawable。