Android为缩放动画设置轴心点

Tal*_*ihr 19 animation android pivot

我试图将视图缩放到一定的大小,但不能完全理解旋转的工作原理.

假设我只想向上缩放视图."pivotY"应该有什么价值?在XML中,它是一个百分比.如何以编程方式应用枢轴点?

例:

ObjectAnimator scaleY = ObjectAnimator.ofFloat(view, "scaleY", scaleSize);
ObjectAnimator pivotY = ObjectAnimator.ofFloat(view, "pivotY", pivotPoint);

AnimatorSet set = new AnimatorSet();
set.PlayTogether(scaleY, pivotY);
Run Code Online (Sandbox Code Playgroud)

Tal*_*ihr 57

实际上非常简单.

如果你想向上扩展一个明确的选项是:

 view.setPivotY(100);
Run Code Online (Sandbox Code Playgroud)

向下:

 view.setPivotY(0);
Run Code Online (Sandbox Code Playgroud)

然后动画.

  • 不是那么简单.首先,**设置此属性会禁用此行为并导致视图仅使用显式设置的pivotX和pivotY值.**此外,使用的值不是百分比,它们*必须是维值,这是一个浮点数字附加单位,如"14.5sp".可用单位为:px(像素),dp(与密度无关的像素),sp(基于首选字体大小的缩放像素),单位为(英寸),mm(毫米).*(来自https://developer.android.com /reference/android/view/View.html). (13认同)
  • 怎么办<11支持? (2认同)

Dor*_*ean 10

使用:

view.setPivotY(view.getMeasuredHeight());
Run Code Online (Sandbox Code Playgroud)

如果需要从底部为对象设置动画.