缩放动画的行为与翻译动画相似

Noo*_*bMe 5 animation android

我正在实施游戏中的练习比例动画.我正在关注所有指南,但总是发生一些奇怪的事情,而不是让对象更大.动画不仅使图像更大,而且即使我不使用翻译动画也会移动它...

这里是xml文件

<?xml version="1.0" encoding="utf-8"?>
<set android:shareInterpolator="false"    
 xmlns:android="http://schemas.android.com/apk/res/android">
<scale
    android:interpolator="@android:anim/accelerate_decelerate_interpolator"
    android:fromXScale="1.0"
    android:toXScale="1.4"
    android:fromYScale="1.0"
    android:toYScale="1.4"
    android:pivotX="50%"
    android:pivotY="50%"
    android:fillAfter="false"
    android:duration="1000" />
 </set>
Run Code Online (Sandbox Code Playgroud)

在这里,它在java中调用

private void startAnimation(final ImageView imageView) {
        final Animation popAnim = AnimationUtils.loadAnimation(getActivity(), R.anim.scalebounce);
        imageView.startAnimation(popAnim);
        popAnim.setAnimationListener(new AnimationListener() {

            public void onAnimationStart(Animation animation) {

            }

            public void onAnimationRepeat(Animation animation) {

            }

            public void onAnimationEnd(Animation animation) {
                imageView.clearAnimation();
                imageView.setVisibility(View.GONE);
            }
        });
    }
Run Code Online (Sandbox Code Playgroud)

它真的很奇怪我已经尝试了我在网上找到的所有解决方案,但没有运气它仍然会转换行为,即使它只是规模...我从小点制作图像然后它变得更大(正常大小).但我不希望它移动,只是为了取而代之.谢谢 :)

PS我一直在观察动画,它似乎需要更大的空间,这就是为什么它看起来像是在移动......为什么需要更大的空间?不是实际的图像尺寸?

Gil*_*yof 5

pivotX & pivotY 需要等于您的视图应该缩放的位置。

为了演示,这里有一个图表来说明:

在此处输入图片说明

您的轴心点当前在视图之外,使您的视图看起来像是在移动和缩放。

如果您希望枢轴点位于视图的左上角,请将 pivotX/pivotY 设置为 0。

设置pivotX = view.getWidth() / 2f&pivotY = view.getHeight() / 2f如果您希望比例从中心开始(如第一张图片所示)

希望这可以帮助 :)