Sie können das mit ScaleAnimations
auf einem ViewFlipper
setzen. Ich mache eine ähnliche Sache ohne die zweite Skala. Ich habe zwei Animationen, eine für den Ausblick und eine für den Ausblick. Ich poste sie hier als Ausgangspunkt für Sie.
shrink_to_middle.xml
<set xmlns:android="http://schemas.android.com/apk/res/android">
<scale
android:interpolator="@android:anim/linear_interpolator"
android:fromXScale="1.0"
android:toXScale="1.0"
android:fromYScale="1.0"
android:toYScale="0.0"
android:fillAfter="false"
android:duration="200" />
<translate
android:fromYDelta="0"
android:toYDelta="50%"
android:duration="200"/>
</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="1.0"
android:toXScale="1.0"
android:fromYScale="0.0"
android:toYScale="1.0"
android:fillAfter="false"
android:startOffset="200"
android:duration="200" />
<translate
android:fromYDelta="50%"
android:toYDelta="0"
android:startOffset="200"
android:duration="200"/>
</set>
Dann in der App Ich habe sie auf die ViewFlipper
wie folgt aus:
mViewFlipper.setInAnimation(context, R.anim.grow_from_middle);
mViewFlipper.setOutAnimation(context, R.anim.shrink_to_middle);
Wie ich schon sagte, das ist nicht genau das, was Sie beschrieben haben, aber es ist ziemlich nah und wird Ihnen den Anfang machen.
--EDIT--
Hier ist der Code der pivotX und pivotY mit (gut, pivotY nur in meinem Fall):
shrink_to_middle.xml
<?xml version="1.0" encoding="utf-8"?>
<scale
xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/linear_interpolator"
android:fromXScale="1.0"
android:toXScale="1.0"
android:fromYScale="1.0"
android:toYScale="0.0"
android:pivotY="50%"
android:fillAfter="false"
android:duration="200" />
grow_from_middle.xml
<?xml version="1.0" encoding="utf-8"?>
<scale
xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/linear_interpolator"
android:fromXScale="1.0"
android:toXScale="1.0"
android:fromYScale="0.0"
android:toYScale="1.0"
android:pivotY="50%"
android:fillAfter="false"
android:startOffset="200"
android:duration="200" />
Dank für den Zeiger. Definitiv ein guter Starter. Anstatt eine andere Animation zu verwenden - translate, habe ich pivotX = 50%, pivotY = 50% und einige andere Änderungen vorgenommen. Danke für den Starter aber –
Nizza! Danke für den Tipp zum pivotX, pivotY! – CaseyB
geben Sie bitte den Code mit pivotX, pivotY – gypsicoder