我尝试编写一个介绍用户的介绍,他们可以长按不同的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);
}
});