gpt4 book ai didi

java - 动画按钮移动并在 Android 中设置新位置

转载 作者:太空宇宙 更新时间:2023-11-03 13:50:50 24 4
gpt4 key购买 nike

我有一个 ImageButton,我想在按下它时移动它,当动画结束时我希望这个按钮停在新位置。

这是按钮代码:

<ImageButton
android:id="@+id/move_button"
android:layout_width="120dp"
android:layout_height="35dp"
android:layout_centerInParent="true"
android:layout_alignParentTop="true"
android:layout_marginTop="0dp"
android:scaleType="fitCenter"
android:background="@drawable/background_button"
android:src="@drawable/move_button"
android:onClick="MoveButton" />

我在这个网站上找到了执行此操作的代码:

public void MoveButton(final View view) {    
TranslateAnimation anim = new TranslateAnimation(0, 0, 100, 0);
anim.setDuration(300);

anim.setAnimationListener(new TranslateAnimation.AnimationListener() {

@Override
public void onAnimationStart(Animation animation) { }

@Override
public void onAnimationRepeat(Animation animation) { }

@Override
public void onAnimationEnd(Animation animation)
{
FrameLayout.LayoutParams params = (FrameLayout.LayoutParams)view.getLayoutParams();
params.topMargin += -100;
view.setLayoutParams(params);
}
});

view.startAnimation(anim);

}

当按钮被按下时它开始动画,但是当动画完成时按钮返回到初始位置并且应用程序崩溃。

可能是什么问题?

最佳答案

这绝对是工作。

Button im= (Button) findViewById(R.id.button);
//set position TranslateAnimation(float fromXDelta, float toXDelta, float fromYDelta, float toYDelta
final Animation animation = new TranslateAnimation(0,100,0,0);
// set Animation for 5 sec
animation.setDuration(5000);
//for button stops in the new position.
animation.setFillAfter(true);
im.startAnimation(animation);

关于java - 动画按钮移动并在 Android 中设置新位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35174441/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com