在animate()之后重置视图的位置。translationYBy()

时间:2016-12-15 20:33:30

标签: android android-animation

我尝试编写一个介绍用户的介绍,他们可以长按不同的ListView条目。 为了做到这一点,我动画一个食指朝向其中一个条目,并点击。在动画之后,我希望它再次处于初始位置,这样我就可以重放动画了。 我在动画之前用getLocationInWindow和动画结束时的setTop()尝试了它,但它没有做任何事情。只是反转动画也不起作用,因为这只会导致onAnimationEnd次调用的无限循环。 这是我没有尝试的代码:

//Animations
        tapfFinger.animate().translationYBy(-StaticHelper.dpToPx(95)).setDuration(1500).setListener(new AnimatorListenerAdapter() {
            @Override
            public void onAnimationStart(Animator animation) {
                super.onAnimationStart(animation);
                textViewLongClickDemo.setVisibility(View.VISIBLE);
                textViewLongClickDemo.setAlpha(0);
                textViewLongClickDemo.animate().setDuration(800).alpha(1);
            }

            @Override
            public void onAnimationEnd(final Animator animation) {
                super.onAnimationEnd(animation);
                tapfFinger.setImageResource(R.drawable.ic_tap);
                final Handler handler = new Handler();
                handler.postDelayed(new Runnable() {
                    @Override
                    public void run() {
                        imageViewLongClickDemoContextMenu.setVisibility(View.VISIBLE);
                        tapfFinger.setVisibility(View.GONE);
                        textViewLongClickDemo.setVisibility(View.INVISIBLE);
                        demoListEntry.setBackgroundColor(getResources().getColor(R.color.tranparent));
                        final Handler handler = new Handler();
                        handler.postDelayed(new Runnable() {
                            @Override
                            public void run() {
                                imageViewLongClickDemoContextMenu.setVisibility(View.INVISIBLE);
                                tapfFinger.setImageResource(R.drawable.ic_tap_before);
                                tapfFinger.setVisibility(View.VISIBLE);
                                playLongClickDemoAnimations();
                            }
                        }, 1200);
                    }
                }, 1200);

            }
        });

0 个答案:

没有答案