gpt4 book ai didi

java - 如何在需要时停止动画并立即在android中启动它

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

我是 android 的新手,我需要帮助。

当我单击键盘上与图像具有相同标签的按钮时,我希望从屏幕顶部掉落的图像变得不可见。虽然我已经实现了上述几点,但当我想在上一个图像不可见后立即再次显示下一个动画时,就会出现问题。这是我的动画代码。

public void startAnimation(final ImageView aniView) 
{

animator= ValueAnimator.ofFloat(0 ,.85f);
animator.setDuration(Constants.ANIM_DURATION);
animator.setInterpolator(null);

//generation of random values
Random rand = new Random();
index = rand.nextInt((int) metrics.widthPixels);
//for debugging
i = Integer.toString(index);
Log.e(" index is :", i);
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener()
{




@Override
public void onAnimationUpdate(ValueAnimator animation)
{
float value = ((Float) (animation.getAnimatedValue())).floatValue();

aniView.setTranslationX(index);

aniView.setTranslationY((height+ (50*mScale))*value);
//aniView.setTranslationY(height);
}
});
animator.start();
}

//keyboard methods goes here

@Override
public void onClick(View v)
{
gettext(v);
}

private void gettext(View v)
{
try
{
String b = "";
b = (String) v.getTag();

String img_val = map.get(b);
int imgid = (Integer) imageView.getTag();

Log.e("img values=:", img_val+" "+imgid);
if(img_val.equals(ALPHABETS[imgid]))
{
imageView.setVisibility(View.INVISIBLE);

animator.start();
//trying to start the animation again
}

我正在使用 animation.addupdateListener 一次又一次地调用动画,但它仅在 .ofFloat 完成值时调用。当我点击适当的按钮时,动画变得不可见,但下一个动画会在同一时间再次开始。我想立即开始。

最佳答案

基本上再次调用 start() 是行不通的。您需要以某种方式“重置”动画,您之前尝试过调用 end() 吗?

animator.end();
animator.start();

关于java - 如何在需要时停止动画并立即在android中启动它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19708570/

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