gpt4 book ai didi

android - 淡出 Android > 5.0 上的 AlphaAnimation 错误

转载 作者:行者123 更新时间:2023-11-29 01:17:02 24 4
gpt4 key购买 nike

以下代码用于淡出View。它适用于 Android SDK < 21。

AlphaAnimation animOut = new AlphaAnimation(1, 0); //fromAlpha, toAlpha
animOut.setDuration(500);
animOut.setAnimationListener(new Animation.AnimationListener()
{
public void onAnimationStart(Animation animation){}
public void onAnimationRepeat(Animation animation){}
public void onAnimationEnd(Animation animation)
{
view.setVisibility(View.INVISIBLE);
}
});
view.startAnimation(animOut);

奇怪的是,它在 Android 5.0 及更高版本上无法正常工作。一旦动画开始,动画 View 立即变得不可见。我该如何解决这个问题?

编辑:如果TranslateAnimationAlphaAnimation 启动onAnimationEnd(),就会发生此错误。

最佳答案

你可以使用 ViewPropertyAnimator .

应该适用于较新的 API (12+),您不必费心设置 View 的可见性。

像这样(淡出):

view.animate().alpha(0).setDuration(500).start();

要淡入,只需设置初始 alpha 值的动画即可:

view.animate().alpha(1).setDuration(500).start();

要添加一个AnimatorListener,您可以调用setListener()方法:

view.animate().alpha(0).setDuration(500)
.setListener(new Animator.AnimatorListener() {

// ...

}).start();

关于android - 淡出 Android > 5.0 上的 AlphaAnimation 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38897380/

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