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

Android 从视图中心为自定义比例创建缩放动画,android,android-animation,Android,Android Animation,我正在尝试为视图创建缩放动画。我想要自定义比例视图中心的动画。 尝试了以下三种方法,但似乎都不起作用 我从中获得了一些想法,并尝试创建动画 AnimatorSet set = new AnimatorSet(); set.play(ObjectAnimator.ofFloat(mContentLayer, View.SCALE_X, currentScaleX, newScaleX)) .with(ObjectAnimator.ofFloat(mContentLayer, View.SC

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

我从中获得了一些想法,并尝试创建动画

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.xml

//动画类不支持从和更改为缩放

三, 尝试使用缩放和轴直接创建缩放动画 也看看这个 但动画甚至没有发生


是否有人可以建议一个适用于此案例的解决方案此处输入代码

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

u如何实现?
<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>