原点动画android

时间:2015-04-04 23:25:06

标签: java android material-design

我目前正在从材质规格设计中制作动画,现在我想启用这里显示的原点动画:

Sample Animation Link

我怎么能做棒棒糖的动画?有没有办法在棒棒糖前设备中做到这一点?

1 个答案:

答案 0 :(得分:1)

我已经实现了这一点,创建了一个基于XML的方法并将其应用到您的自定义主题。

创建 anim / anim_in.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <scale
        android:interpolator="@android:anim/accelerate_decelerate_interpolator"
        android:fromXScale="0.0"
        android:toXScale="1.0"
        android:fromYScale="0.0"
        android:toYScale="1.0"
        android:fillAfter="false"
        android:startOffset="200"
        android:duration="200"
        android:pivotX = "100%"
        android:pivotY = "100%"
        />
    <translate
        android:fromYDelta="50%"
        android:toYDelta="0"
        android:startOffset="200"
        android:duration="200"
        />
</set>

然后创建 anim / anim_out.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <scale
        android:interpolator="@android:anim/accelerate_decelerate_interpolator"
        android:fromXScale="1.0"
        android:toXScale="0.0"
        android:fromYScale="1.0"
        android:toYScale="0.0"
        android:fillAfter="false"
        android:duration="200"
        android:pivotX = "100%"
        android:pivotY = "100%"
        />
    <translate
        android:fromYDelta="0"
        android:toYDelta="50%"
        android:duration="200"
        />
</set>

此动画原点从屏幕右下角弹出一个窗口或对话框片段。修改pivotXpivotY以更改来源的位置

style.xml

中定义此窗口动画
<style name="InOut.Window" parent="@android:style/Animation.Activity">
        <item name="android:windowEnterAnimation">@anim/anim_in</item>
        <item name="android:windowExitAnimation">@anim/anim_out</item>
    </style>

最后将此动画应用于您已创建的自定义主题的所有窗口。

<style ....>
...
<item name="android:windowAnimationStyle">@style/InOut.Window</item>
</style>