从视图中心创建缩放动画以自定义比例
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
我正在尝试为视图创建缩放动画。我想要自定义比例视图中心的动画。 尝试了以下三种方法,但 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