Я пытаюсь создать анимацию для перехода между двумя представлениями, оба из которых являются ExpandableListViews. Внешний вид, который мне нужен, описан на изображении ниже.
Я попытался использовать shrink_to_middle и grow_from_middle в качестве анимации выхода / входа моего ViewAnimator - и это близко, но не совсем правильно - с моим текущим сжатием / увеличением, поскольку анимация имеет место, как правый, так и левый края виды имеют одинаковую высоту, что не придает анимации глубины.
Я не знаю, как лучше всего объяснить, что я хочу, поэтому я нарисовал изображение, но в любом случае ... Я хочу получить трехмерный вид анимации, в которой вид поворачивается на ось z. Предполагая, что мы используем простую анимацию shrink_to_middle и grow_from_middle в качестве отправной точки (которая не обеспечивает трехмерный вид). Чтобы обеспечить трехмерный вид, у выходной анимации правый край будет постепенно уменьшаться по мере того, как вид сжимается до середина; в анимации in левый край будет постепенно увеличиваться по мере увеличения изображения от середины.
Изображения с 1 по 4 будут выходной анимацией (для вида №1), а изображения 5–8 будут входящей анимацией (для просмотра №2).
Заранее благодарим.
Изменить : К вашему сведению, вот мое текущее сжатие до середины и рост из XML-файлов средней анимации
shrink_to_middle.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<scale android:interpolator="@android:anim/linear_interpolator"
android:fromXScale="1.0" android:toXScale="0.0" android:fromYScale="1.0"
android:toYScale="1.0" android:fillAfter="false" android:duration="500" />
<translate android:fromXDelta="0" android:toXDelta="50%"
android:duration="500" />
</set>
grow_from_middle.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<scale android:interpolator="@android:anim/linear_interpolator"
android:fromXScale="0.0" android:toXScale="1.0" android:fromYScale="1.0"
android:toYScale="1.0" android:fillAfter="false" android:startOffset="200"
android:duration="500" />
<translate android:fromXDelta="50%" android:toXDelta="0"
android:startOffset="200" android:duration="500" />
</set>