Android L变形动画

sn0*_*0ep 9 animation android 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

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

提前致谢

fir*_*ole 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'
    ...
}
Run Code Online (Sandbox Code Playgroud)

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" /> 
Run Code Online (Sandbox Code Playgroud)

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

<style name="MyAppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="morphButtonStyle">@style/Widget.MorphButton</item>
</style>
Run Code Online (Sandbox Code Playgroud)

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