使用 ViewPropertyAnimator 和 scaleY 时如何将视图锚定到顶部?
How can I anchor a view to the top when using ViewPropertyAnimator and scaleY?
我正在尝试为 Android (API 15) 中的视图设置动画,因此它通过从顶部向下扩展来显示,并通过向后收缩来隐藏,就像 this jQuery slideUp()/slideDown() example.
我试过使用 ViewPropertyAnimator.scaleY(float)
实现这个,如下所示:
隐藏:
view.animate()
.setInterpolator(new AccelerateDecelerateInterpolator())
.scaleY(0f)
.start();
显示:
view.animate()
.setInterpolator(new AccelerateDecelerateInterpolator())
.scaleY(1f)
.start();
这是有效的,除了视图从垂直中心而不是顶部收缩和扩展。
有没有办法将这个动画锚定在顶部,仍然使用 ViewPropertyAnimator
?如果没有,最好的选择是什么?
根据需要调整枢轴在动画之前
view.setPivotY(0f); // 0 = top of the view
参考:https://developer.android.com/reference/android/view/View.html#setPivotY(float)
我正在尝试为 Android (API 15) 中的视图设置动画,因此它通过从顶部向下扩展来显示,并通过向后收缩来隐藏,就像 this jQuery slideUp()/slideDown() example.
我试过使用 ViewPropertyAnimator.scaleY(float)
实现这个,如下所示:
隐藏:
view.animate()
.setInterpolator(new AccelerateDecelerateInterpolator())
.scaleY(0f)
.start();
显示:
view.animate()
.setInterpolator(new AccelerateDecelerateInterpolator())
.scaleY(1f)
.start();
这是有效的,除了视图从垂直中心而不是顶部收缩和扩展。
有没有办法将这个动画锚定在顶部,仍然使用 ViewPropertyAnimator
?如果没有,最好的选择是什么?
根据需要调整枢轴在动画之前
view.setPivotY(0f); // 0 = top of the view
参考:https://developer.android.com/reference/android/view/View.html#setPivotY(float)