从视图中心创建缩放动画以自定义比例

Creating Zoom animation from center of view for custom scale

我正在尝试为视图创建缩放动画。我想要自定义比例视图中心的动画。 尝试了以下三种方法,但 none 似乎有效

(1) 从 http://developer.android.com/training/animation/zoom.html 那里得到一些想法并尝试创建动画

AnimatorSet set = new AnimatorSet();
set.play(ObjectAnimator.ofFloat(mContentLayer, View.SCALE_X, currentScaleX, newScaleX))
    .with(ObjectAnimator.ofFloat(mContentLayer, View.SCALE_Y, currentScaleY, newScaleY));
// various ways to animate PivotX/PivotY or set pivots did not help
set.setDuration(500);
set.addListener(new AnimatorListenerAdapter() {
    @Override
    public void onAnimationEnd(Animator animation) {
        adjustScale();
    }

    @Override
    public void onAnimationCancel(Animator animation) {
        adjustScale();
    }
});

动画确实发生了,但不是从视图的中心,各种设置枢轴的方法都没有帮助

(2) 尝试了基于 xml 的方法来创建动画,但找不到从代码中指定自定义比例值的方法 zoom in and zoom out animation in android zoom.xml

<scale
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="500"
    android:fromXScale="1"
    android:fromYScale="1"
    android:pivotX="50%"
    android:pivotY="50%"
    android:toXScale="1"
    android:toYScale="1" >
</scale>

//动画class不支持缩放,

(3) 尝试直接创建具有缩放和枢轴的 ScaleAnimation http://developer.android.com/reference/android/view/animation/ScaleAnimation.html 这个也看了How to create zoom animation effect for custom view 但是动画甚至没有出现

有人可以提出适用于这种情况的解决方案吗enter code here

已通过编写自定义动画解决此问题。问题是我们自己处理所有视图更新,而不是使用 android 的布局功能。所以当我们使用 android 动画师时,枢轴总是 0,0