Ответ 1
Добавлено в api 21 "StateListAnimator"
http://developer.android.com/reference/android/animation/StateListAnimator.html
Я знаю, что это старый вопрос, но это может помочь будущим людям, которые хотят это сделать.
У меня есть простой селектор для моего ListView
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/yellow_arc" android:state_activated="true"/>
<item android:drawable="@drawable/yellow_nonarc" android:state_activated="false"/>
</selector>
Я хочу оживить переход между этими чертежами, когда состояние представлений изменяется от активированного до неактивного и наоборот.
Если вы запустите example в демонстрациях API, вы увидите очевидную анимацию fade-in/fade-out, в то время как активированное состояние вида будет изменено.
Так что я хочу, это настраиваемая анимация, когда состояние представления изменено. Я думаю, что это должно быть сделано через xml, но я не мог найти способ.
Спасибо заранее.
EDIT:
Я предполагаю, что нашел что-то полезное там activated_background.xml
в \Android\android-sdk\platforms\android-API_VERSION\data\res\drawable
, которое включает
<selector xmlns:android="http://schemas.android.com/apk/res/android"
android:exitFadeDuration="@android:integer/config_mediumAnimTime">
<item android:state_activated="true" android:drawable="@android:drawable/list_selector_background_selected" />
<item android:drawable="@color/transparent" />
</selector>
Итак, пример в API-демках, обеспечивающий эту анимацию постепенного уменьшения, объявив exitFadeDuration
. Однако это не совсем то, что я хочу. Я хочу объявить настраиваемые анимации для перехода между выводами состояния, поскольку анимация fade-in/fade-out не хорошо выглядите для моих чертежей.
Добавлено в api 21 "StateListAnimator"
http://developer.android.com/reference/android/animation/StateListAnimator.html
Я знаю, что это старый вопрос, но это может помочь будущим людям, которые хотят это сделать.
Я думаю, TransitionDrawable может помочь вам в этом.
Вы можете проверить ответ здесь: Анимировать изменение цвета фонового изображения на Android
Вы хотите, чтобы вы исчезли?
Я предполагаю, что это будет то же самое, что и как работает textSwitcher, может быть, вы захотите изменить его на ViewSwitcher, вместо этого затухание программировано
Animation in = AnimationUtils.loadAnimation(this,
android.R.anim.fade_in);
Animation out = AnimationUtils.loadAnimation(this,
android.R.anim.fade_out);
mSwitcher1.setInAnimation(in);
mSwitcher1.setOutAnimation(out);