1

Android 4.x で View.animate().* にカスタム プロパティを追加することは可能ですか?

Android 4.x は View.animate() を提供し、これによりいくつかのプロパティをアニメーション化できます。お気に入り:

View.animate().alpha(0.5f).setDuration.start();

次のようなカスタム プロパティをこのオブジェクトに追加します。

CustomView.animate().xyz(0.1f).setDuration.start();
4

1 に答える 1

3

カスタム アニメーションでこれを行うことができます。

public class CustomAnim extends Animation {

    private CustomView mLayout;
    private float finalVal;
    private float startVal;

    public CustomAnim(CustomView layout, float finalVal) {
        this.mLayout = layout;
        this.finalVal = finalVal;
        this.startVal = layout.xyz();
    }

    @Override
    protected void applyTransformation(float interpolatedTime, Transformation t) {
        mLayout.setXYZ(interpolatedTime * (finalVal - startVal) + startVal);
    }

    @Override
    public boolean willChangeBounds() {
        return true;
    }   
}

または、プロパティに setXYZ getXYZ などの getter メソッドと setter メソッドがある場合は、プロパティ アニメーションを使用できます。

于 2012-12-21T18:42:36.167 に答える