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