我试图将视图缩放到一定的大小,但不太理解旋转是如何工作的。
假设我只想放大视图。"pivotY“应该有什么价值?在XML中,它是一个百分比。如何以编程方式应用轴心点?
示例:
ObjectAnimator scaleY = ObjectAnimator.ofFloat(view, "scaleY", scaleSize);
ObjectAnimator pivotY = ObjectAnimator.ofFloat(view, "pivotY", pivotPoint);
AnimatorSet set = new AnimatorSet();
set.PlayTogether(scaleY, pivotY);
发布于 2013-06-11 05:10:01
实际上很简单。
如果您想要向上扩展,一个明确的选择是:
view.setPivotY(100);
向下:
view.setPivotY(0);
然后设置动画。
发布于 2021-06-05 05:32:47
您的轴心点将您的视图作为参考。因此,轴心点设置为0,0表示它与视图的左上角匹配。
所以这个动画:
ObjectAnimator.ofFloat(view, "scaleY", 1f, 0f)
将受到pivotY
的影响
view.pivotY = 0 // will shrink the view towards the view top
view.pivotY = view.measuredHeight.toFloat() // will shrink the view towards the view bottom
view.resetPivot() // will shrink the view towards the center
以同样的方式,此动画:
ObjectAnimator.ofFloat(view, "scaleX", 1f, 0f)
将受到pivotX
的影响
view.pivotX = 0 // will shrink the view towards the view left
view.pivotX = view.measuredHeight.toFloat() // will shrink the view towards the view right
view.resetPivot() // will shrink the view towards the center
https://stackoverflow.com/questions/17031931
复制相似问题