gpt4 book ai didi

Android TranslateAnimation 在动画后重置

转载 作者:IT老高 更新时间:2023-10-28 22:00:47 28 4
gpt4 key购买 nike

我正在创建类似于 SlideDrawer 的东西,但具有大多数自定义功能,基本上可以正常工作,但动画最后会闪烁。

为了进一步解释,我得到了一个 TranslateAnimation,然后在这个动画之后它返回到原始位置,如果我设置 setFillAfter,那么布局内的按钮将停止工作。如果我听 onAnimationEnd 并将其他的布局设置为 View.GONE 布局过滤器。由此判断是在动画结束时, View 回到了调用View.GONE之前的原始位置。

任何建议都会很棒。谢谢

最佳答案

Here是与此问题相关的实际错误

这基本上表明,当 AnimationListener 附加到 Animation 时,onAnimationEnd(...) 方法并不能很好地工作

解决方法是在您将动画应用到的 View 中监听动画事件例如,如果您最初将动画监听器附加到这样的动画

mAnimation.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationEnd(Animation arg0) {
//Functionality here
}

然后将动画应用到像这样的 ImageView

mImageView.startAnimation(mAnimation);

要解决此问题,您现在必须创建一个自定义 ImageView

public Class myImageView extends ImageView {

然后重写 View 类的 onAnimationEnd 方法并提供那里的所有功能

@Override
protected void onAnimationEnd() {
super.onAnimationEnd();
//Functionality here
}

这是解决此问题的正确解决方法,在覆盖 View -> onAnimationEnd(...) 方法中提供功能,而不是 onAnimationEnd(...) 附加到动画的 AnimationListener 方法。

这可以正常工作,并且在动画结束时不再有任何闪烁。希望这会有所帮助

关于Android TranslateAnimation 在动画后重置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2650351/

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