2017-06-01 31 views
1

視覚的なフィードバックを提供するために、ユーザがタップした後に縮小して元のサイズに戻す基本的なアニメーションをTextViewで作成したかったのです。ドキュメントを読んで、Android上でプロパティをアニメーション化するための様々な方法があるようですが、私は、次のXMLで定義され、ビューのアニメーションを使用するための定住:これは十分に機能元のアニメーションスケールの値を元に戻す

<set xmlns:android="http://schemas.android.com/apk/res/android" android:shareInterpolator="true" android:interpolator="@android:anim/accelerate_interpolator"> 

<scale 
    android:fromXScale="1.0" 
    android:toXScale="0.5" 
    android:fromYScale="1.0" 
    android:toYScale="0.5" 
    android:pivotX="50%" 
    android:pivotY="50%" 
    android:duration="100"/> 

<scale 
    android:startOffset="100" 
    android:fromXScale="1.0" 
    android:toXScale="2.0" 
    android:fromYScale="1.0" 
    android:toYScale="2.0" 
    android:pivotX="50%" 
    android:pivotY="50%" 
    android:duration="50"/> 

、それ奇妙なことに私を襲います。私は、元の値との相対的な値を使用するのではなく、2番目のタグをどれだけスケールする必要があるかによって計算する必要があります。 2番目のタグで元の要素(つまり、fromXscale = "0.5"とtoXscale = "1.0")を使用して相対的な値を使用する方法はありますか?

答えて

0

私はあなたの質問を取得した場合は、右あなたが逆リピートポリシーを追加するか、単に規模バックアニメーションを追加することができ、この

tv.animate().scaleXBy(2.0f).scaleYBy(2.0f).setDuration(100).setInterpolator(new LinearInterpolator()).start(); 

を試してみてください。

+0

ありがとうございました。私は、リバースリピートの使用を検討しても、2番目のアニメーションを実行しないようにすることさえ考えませんでした。それはうまく動作します。 –