在android中,如何使用动画使图像从一个点开始生长?

在android中,如何使用动画使图像从一个点开始生长?,android,animation,Android,Animation,在android中,如何使用动画使图像从一个点开始生长 我的意思是说…我有一个按钮…我想要的是当我点击这个按钮时,我的图像必须增长(升序),从那个点开始越来越大…当我再次点击那个按钮时,它必须越来越小,直到那个点结束 有人能帮我用安卓动画做这个吗? 我是android新手这可以通过查看动画实用程序实现。这会将图像从100%缩放到140%,持续1秒 将以下文件放在res/anim/scale.xml中 <?xml version="1.0" encoding="utf-8"?> <

在android中,如何使用动画使图像从一个点开始生长

我的意思是说…我有一个按钮…我想要的是当我点击这个按钮时,我的图像必须增长(升序),从那个点开始越来越大…当我再次点击那个按钮时,它必须越来越小,直到那个点结束

有人能帮我用安卓动画做这个吗?
我是android新手

这可以通过查看动画实用程序实现。这会将图像从100%缩放到140%,持续1秒

将以下文件放在res/anim/scale.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>

我建议你看看这篇文章:

您必须将其用作示例,因为您希望将其应用于您的按钮

从Android 3.0开始,设置视图动画的首选方法是 使用包API。这些基于类的类更改视图对象的实际属性

或者,您也可以使用一个用于简单操作的图像按钮,该按钮的长度为1000毫秒至其大小的1.4倍:

imageButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        imageButton.animate().
        scaleX(1.4f).
        scaleY(1.4f).
        setDuration(1000).start();
    }
});

你能解释一下细节吗?再多描述几句就好了!嗨,我只是想问问。。我也在用这个。。我的图像变大了,但它并没有停留在原来的位置上,它向下移动了~thnx以获得您的帮助..我能够通过缩放动画实现它
public class DropDownAnim extends Animation {
int targetHeight;
View view;
boolean down;

public DropDownAnim(View view, int targetHeight, boolean down) {
    this.view = view;
    this.targetHeight = targetHeight;
    this.down = down;
}

@Override
protected void applyTransformation(float interpolatedTime, Transformation t) {
    int newHeight;
    if (down) {
        newHeight = (int) (targetHeight * interpolatedTime);
    } else {
        newHeight = (int) (targetHeight * (1 - interpolatedTime));
    }
    view.getLayoutParams().height = newHeight;
    view.requestLayout();
}

@Override
public void initialize(int width, int height, int parentWidth,
        int parentHeight) {
    super.initialize(width, height, parentWidth, parentHeight);
}

@Override
public boolean willChangeBounds() {
    return true;
}
}
imageButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        imageButton.animate().
        scaleX(1.4f).
        scaleY(1.4f).
        setDuration(1000).start();
    }
});