2016-09-14 54 views
3

我有多个可选择的视图。当他们中的一个被选中时,我希望我的新视图首先定位到与所选位置相同的位置,并将其移动到屏幕顶部。我怎样才能做到这一点?所选项目的位置不同。将动画从位置Y翻译到屏幕顶部

// Selected item 
int[] location = new int[2]; 
item.getLocationOnScreen(location); 
int positionY = location[1]; 

// Move the view I want to move to the position of selected item 
viewToMove.setTranslationY(positionY); 

// Create and start animation 
Animation slideUp = new TranslateAnimation(viewToMove.getTranslationX(), viewToMove.getTranslationX(), positionY, -positionY); 
slideUp.setDuration(1000); 
slideUp.setFillEnabled(true); 
slideUp.setFillAfter(true); 
viewToMove.startAnimation(slideUp); 

回答

0

随着ViewPropertyAnimator它很容易:

viewToMove.animate().translationX(...).translationY(0).setDuration(1000); 

translationY(0)为Y轴的,你在你想要查看坐标补上,并在 translationX(...)移动到X轴上。

相关问题