gpt4 book ai didi

android - 使用 postDelayed 时未触发 AnimationListener 的 onAnimationEnd

转载 作者:行者123 更新时间:2023-11-29 00:32:28 55 4
gpt4 key购买 nike

我正在尝试使用启动画面来弥补 Google map 加载延迟(对于 Maps v2)。

我想在 FrameLayout 中使用一个 ImageView,它应该在几秒后淡出并且能够覆盖 onAnimationEnd 以隐藏初始屏幕的 ImageView

当立即启动动画时,onAnimationEnd 被适本地调用:

new Animations().animateAlphaForLayout(splashLayout, 2000);

问题是当我尝试使用 postDelayed 启动动画时 onAnimationEnd 根本没有被调用:

splashLayout.postDelayed(new Runnable() {

@Override
public void run() {
new Animations().animateAlphaForLayout(splashLayout, 2000);
}

}, 3000);

Animations 类的代码是这样的:

import android.view.View;
import android.view.ViewGroup;
import android.view.animation.AlphaAnimation;
import android.view.animation.Animation;
import android.view.animation.AnimationSet;
import android.view.animation.LayoutAnimationController;

public class Animations {

public void animateAlphaForLayout(final ViewGroup viewGroup, int duration) {
AnimationSet set = new AnimationSet(true);

Animation animation = new AlphaAnimation(1.0f, 0.0f);
animation.setRepeatCount(0);
animation.setFillAfter(true);
animation.setDuration(duration);
animation.setAnimationListener(new Animation.AnimationListener() {

@Override
public void onAnimationStart(Animation animation) {
// TODO Auto-generated method stub
}

@Override
public void onAnimationRepeat(Animation animation) {
// TODO Auto-generated method stub
}

@Override
public void onAnimationEnd(Animation animation) {
viewGroup.setVisibility(View.GONE);
}
});
set.addAnimation(animation);

LayoutAnimationController controller = new LayoutAnimationController(set, 0.0f);
viewGroup.setLayoutAnimation(controller);
}

}

有谁知道在 Android 2.3 及更高版本(API 10+)上执行此操作的方法吗?

谢谢!

最佳答案

获得我想要的结果的简单解决方法(即显示 ImageView 几秒钟,然后淡出并将其设置为 GONE):

因为 postDelayed 是我之前尝试的罪魁祸首,所以我放弃了它,转而使用 AnimationsetStartOffset(startOffset)

这意味着我只是延迟了动画开始的时间间隔,我最初使用的时间间隔是 postDelayed。我仍然不知道为什么 postDelayed 会弄乱动画的监听器。

关于android - 使用 postDelayed 时未触发 AnimationListener 的 onAnimationEnd,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14622468/

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