使用 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)