Android L动作项动画

时间:2014-07-08 11:23:41

标签: android animation android-5.0-lollipop

Android L预览有很多很酷的动画,特别是我对动态ActionBar内的动作项目感兴趣。这里是来自Google素材设计网页的动画video。 有人知道如何实现这个动画吗?

1 个答案:

答案 0 :(得分:4)

您可以使用< animation-list>创建基于帧的动画图标。 XML元素或AnimationDrawable类。从L开始,您可以使用< animated-selector>创建基于状态的动画图标。 XML元素或AnimatedStateListDrawable类。

以下是L预览中的动画复选框示例:

<animated-selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_enabled="false" android:state_checked="true">
        <bitmap android:src="@drawable/btn_check_to_on_mtrl_015"
                android:tint="?attr/colorControlActivated"
                android:alpha="?attr/disabledAlpha" />
    </item>
    <item android:state_enabled="false">
        <bitmap android:src="@drawable/btn_check_to_on_mtrl_000"
                android:tint="?attr/colorControlNormal"
                android:alpha="?attr/disabledAlpha" />
    </item>
    <item android:state_checked="true" android:id="@+id/on">
        <bitmap android:src="@drawable/btn_check_to_on_mtrl_015"
                android:tint="?attr/colorControlActivated" />
    </item>
    <item android:id="@+id/off">
        <bitmap android:src="@drawable/btn_check_to_on_mtrl_000"
                android:tint="?attr/colorControlNormal" />
    </item>
    <transition android:fromId="@+id/off" android:toId="@+id/on">
        <animation-list>
            <item android:duration="15">
                <bitmap android:src="@drawable/btn_check_to_on_mtrl_000"
                        android:tint="?attr/colorControlActivated" />
            </item>
            ...

这里有几个基于状态的帧实现为PNG,并且在&#34; off&#34;之间定义了一个转换。 &#34; on&#34;状态实现为基于PNG的动画。最后三个可绘制名称的数字表示框架,复选框使用15个框架,每个框架用于检查&#34;并且&#34;取消选中&#34;动画。

您还可以使用&lt; animation-list&gt;仅用于两个状态的简单动画。