Android TranslateAnimation resets after animation

后端 未结 6 1363
灰色年华
灰色年华 2020-12-02 10:13

I\'m creating something like a SlideDrawer but with most customization, basically the thing is working but the animation is flickering at the end.

To further explain

6条回答
  •  忘掉有多难
    2020-12-02 10:47

    Here is the actual bug related to this issue

    This basically states that the onAnimationEnd(...) method doesn't really work well when an AnimationListener is attached to an Animation

    The workaround is to listen for the animation events in the view to which you were applying the animation to For example if initially you were attaching the animation listener to the animation like this

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

    and then applying to the animation to a ImageView like this

    mImageView.startAnimation(mAnimation);
    

    To work around this issue, you must now create a custom ImageView

    public Class myImageView extends ImageView {
    

    and then override the onAnimationEnd method of the View class and provide all the functionality there

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

    This is the proper workaround for this issue, provide the functionality in the over-riden View -> onAnimationEnd(...) method as opposed to the onAnimationEnd(...) method of the AnimationListener attached to the Animation.

    This works properly and there is no longer any flicker towards the end of the animation. Hope this helps

提交回复
热议问题