2

我的问题描述

在此屏幕截图中,有两个ListViews。

在此处输入图像描述

我想要实现的是当我触摸紫色时ListView,触摸的单元格会向上移动并停在蓝色底部的位置ListView

例如,如果我触摸“决定心脏移植”,那么他们将是一个动画,显示该单元格向上移动,然后停在“肝脏移植”的位置。

我试过的

我试过紫色的ListView

    @Override
    public void onListItemClick(ListView l, View v, int position, long id) {


        // Setup the animation view

        Log.d("onListItemClick", "Position: " + viewForAnim.getX() + ", " + viewForAnim.getY());

        // Move up the selected view
        Animation animation = null;

        animation = new TranslateAnimation(0, 0, 0, -v.getY()-l.getY());
        animation.setDuration(700);
        v.startAnimation(animation);
}

但这似乎会在列表视图的范围内移动选定的单元格,它不能移出它。

考虑到动画紫色列表视图的单元格可能被蓝色列表视图覆盖,我什至尝试通过使用更改列表视图的 z 顺序

l.bringToFront();

然而,这也没有奏效。

我还尝试了这个 SO Post 中显示的方法

Android -- 如何将视图定位到屏幕外?

它可能适用于动画视图,但这不适用于我的情况。

然后我尝试设置android:clipChildrenand 不适用于需要将单元格移出列表视图的动画。

那么你们能指出我如何实现这种动画效果的正确方法吗?

4

1 回答 1

1

尝试relative_to_parent在翻译动画中使用

于 2013-07-19T10:50:36.977 回答