0

これは、TextViewを回転させるための私のxmlです。

<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="1000"
    android:fillAfter="true"
    android:fromDegrees="0"
    android:interpolator="@android:anim/accelerate_interpolator"
    android:pivotX="50%"
    android:pivotY="50%"
    android:toDegrees="180" />

[回転]ボタンを押すと、TextViewは通常どおり回転します。回転後は、回転角が180度になると、垂直方向に反転して表示されます。

問題は、ボタンをもう一度押してさらに180度回転させると、回転する前の元の状態に戻ることです。

最後の状態から回転させたい。

4

3 に答える 3

0

このSOの答えをチェックしてください。必要な属性は次のとおりです。

fillAfter=true
fillEnabled=true

Androidでビューをアニメーション化し、新しい位置/サイズのままにするにはどうすればよいですか?

于 2012-10-10T12:17:42.507 に答える
0

より多くのxmlファイルを作成する必要があります。しかし、これを文法的に行うのが最善のオプションです。これでうまくいくと確信しています。

于 2012-10-10T12:32:28.633 に答える
0

お返事ありがとうございます、今私は言うことができます:

int x = 0, y = 180; // global variables

それで:

        RotateAnimation a = new RotateAnimation(x, y,
                Animation.RELATIVE_TO_SELF, 0.5f,
                Animation.RELATIVE_TO_SELF, 0.5f);
        a.setFillEnabled(true);
        a.setFillAfter(true);
        a.setDuration(1000);
        a.setAnimationListener(onRotation);
        txtView.startAnimation(a);

それで:

AnimationListener onRotation = new AnimationListener() {

    public void onAnimationStart(Animation animation) {
        // TODO Auto-generated method stub

    }

    public void onAnimationRepeat(Animation animation) {
        // TODO Auto-generated method stub

    }

    public void onAnimationEnd(Animation animation) {
        x += 180;
        y += 180;

    }
};
于 2012-10-10T13:43:52.910 に答える