У меня есть кнопка изображения, которую я хочу оживить, когда она изменится. Я хочу оживить движение от pencil до cross так же, как гамбургер переходит на стрелку назад, когда выдвижной ящик открыт. Я извиняюсь, что изображения белые, которые совпадают с фоном (единственная версия, из которых они у меня есть), просто перетащите изображение из ссылки, и вы увидите, что я имею в виду. Я надеялся, что кто-то может указать мне в правильном направлении, чтобы начать с этого.Создание пользовательских анимаций кнопок на android
ответ
Вы можете создать анимированную иконку, используя анимированные растровые и растровые рамы. В L вы можете использовать AnimatedStateListDrawable для создания анимаций с поддержкой состояния (например, анимации флажков).
Вот AnimatedDrawable пример (на самом деле это реализация для флажка на L предварительного просмотре) с помощью 15мс-длинных кадров, которые можно запускать и останавливать из кода:
<animation-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:duration="15" android:drawable="@drawable/my_icon_frame_000" />
...additional frames...
</animation-list>
А вот AnimatedStateListDrawable с помощью AnimatedDrawable переходы реализовать анимацию флажок, который начинается и останавливается автоматически на основе Просмотр состояния:
<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/colorControlNormal" />
</item>
...additional frames...
</animation-list>
</transition>
<transition android:fromId="@+id/on" android:toId="@+id/off">
<animation-list>
<item android:duration="15">
<bitmap android:src="@drawable/btn_check_to_off_mtrl_000" android:tint="?attr/colorControlActivated" />
</item>
...additional frames...
</animation-list>
</transition>
</animated-selector>
кредит: Android L "delightful" drawable transformations
Для получения дополнительной информации: http://developer.android.com/reference/android/graphics/drawable/AnimationDrawable.html
Какую анимацию вы хотите? – dhams