0

フリップアニメーションをレイアウトに適用したいアプリケーションを作成したい。

4

2 に答える 2

1
    private void applyRotation(float start, float end) {
// Find the center of image
final float centerX = image1.getWidth() / 2.0f;
final float centerY = image1.getHeight() / 2.0f;

// Create a new 3D rotation with the supplied parameter
// The animation listener is used to trigger the next animation
final Flip3dAnimation rotation =
       new Flip3dAnimation(start, end, centerX, centerY);
rotation.setDuration(500);
rotation.setFillAfter(true);
rotation.setInterpolator(new AccelerateInterpolator());
rotation.setAnimationListener(new DisplayNextView(isFirstImage, image1, image2));

if (isFirstImage)
{
image1.startAnimation(rotation); // "YourLayout"
} else {
image2.startAnimation(rotation); // "Your Other Layout"
}

}

このチュートリアルをチェックしてください。それはあなたが求めていることを正確に実行します。 http://www.inter-fuser.com/2009/08/android-animations-3d-flip.html

于 2013-03-26T10:35:43.957 に答える
0

あなたはこれを次のように試すことができます:

Grow_from_middle.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >

    <scale
        android:duration="200"
        android:fillAfter="false"
        android:fromXScale="0.0"
        android:fromYScale="0.7"
        android:interpolator="@android:anim/linear_interpolator"
        android:startOffset="200"
        android:toXScale="1.0"
        android:toYScale="1.0" />

    <translate
        android:duration="200"
        android:fromXDelta="50%"
        android:startOffset="200"
        android:toXDelta="0" />

</set>

シュリンク_to_middle.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >

    <scale
        android:duration="200"
        android:fillAfter="false"
        android:fromXScale="1.0"
        android:fromYScale="1.0"
        android:interpolator="@android:anim/linear_interpolator"
        android:toXScale="0.0"
        android:toYScale="0.7" />

    <translate
        android:duration="200"
        android:fromXDelta="0"
        android:toXDelta="50%" />

</set>

これを次のように使用します:

overridePendingTransition(R.anim.grow_from_middle,R.anim.shrink_to_middle);

これがお役に立てば幸いです。

于 2013-03-26T10:37:31.317 に答える