我的应用程序中有一堆相邻的正方形视图,用户应该能够将这些正方形视图中的任何一个从一个位置拖到另一个位置。我使用ObjectAnimator
来达到拖动效果。但是,重叠的层次结构不是我想要的。
如果一个视图被拖动到另一个视图上,我希望被拖动的视图出现在被拖动的视图上方,而不是被拖动到视图下方。
但是,如果用户将视图向右拖动,则被拖动的视图将在视图的右下方拖动。并且,如果用户将视图向下拖动,则拖动的视图将拖动到其下方的视图下方。
剩下的两个方向是正确的。如果用户将视图拖动到左侧,则拖动的视图将在其左侧的视图上方移动;如果用户将视图向上拖动,则该视图将在其上方的视图上方拖动。
基本上,无论deltaX
和deltaY
的值是多少,我都希望屏幕上最后拖动的任何视图都显示在其他任何视图上方
ObjectAnimator translateX = ObjectAnimator.ofFloat(view, "translationX", delatX);
ObjectAnimator translateY = ObjectAnimator.ofFloat(view, "translationY", deltaY;
translateX.setDuration(500);
translateX.start();
translateY.setDuration(500);
translateY.start();