如何使用缩放动画在Android中隐藏图像

时间:2014-10-13 14:34:08

标签: android animation scale

是否可以使用xml中的缩放动画隐藏图像。我的意思是我在屏幕上有一个图像,我想在0.0 - >方向上使用比例动画隐藏它。 1.0。所以图像在屏幕上,我想从左到右开始缩放,直到它消失。有可能吗?

这不是我想要的。你看我的应用程序支持低于3.0的设备。而且我不想移动图像。我想缩放它,但方向相反。缩放动画与屏幕的坐标一起使用,因此如果从0.0到1.0开始,将显示图像。但是我想将它从0.0隐藏到1.0。有可能吗?

2 个答案:

答案 0 :(得分:0)

首先缩放意味着改变图像的大小而不是你想要的!你想改变图像的位置。使用属性动画(在android 3.0+中支持),您可以设置对象的任何属性(甚至是非可视属性)的动画。 使用此代码为任何属性设置动画

    ValueAnimator move = ValueAnimator.ofFloat(0,100); //start and ending value
    scaleUp.setDuration(300);
    scaleUp.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
        @Override
        public void onAnimationUpdate(ValueAnimator valueAnimator) {
            Float newValue = (Float) valueAnimator.getAnimatedValue();
            myObject.setX(newValue); //in pixcels
        }
    });
    move.start();

此代码更改" x"的值在300ms期间从0到100的财产。 x和y是视图的位置(以像素为单位)。当然你需要先以像素为单位计算起点和终点。 了解更多关于" x"这里的财产http://developer.android.com/reference/android/view/View.html#setX(float) 你也可以动画setTranslationX istead http://developer.android.com/reference/android/view/View.html#setTranslationX(float)

正如我之前所说的属性动画,你可以动画你想要的任何属性,它很容易合作,了解更多关于它的内容阅读http://developer.android.com/guide/topics/graphics/prop-animation.html

答案 1 :(得分:0)

我设法做了我想做的事。我使用标签pivotX的缩放动画。使用pivotX或pivotY,您可以设置从图像的哪个点开始动画以及在什么方向。你必须玩它一点,直到你收到你想要的动画。这是我的代码:

    <scale
        android:duration="4000"
        android:fromXScale="1.0"
        android:fromYScale="1.0"
        android:pivotX="450"
        android:interpolator="@android:anim/linear_interpolator"
        android:startOffset="300"
        android:toXScale="0.0"
        android:toYScale="1.0" />