ListView项目 - 触摸移动

时间:2013-12-17 07:33:26

标签: android android-view drag

我想通过拖动来移动listview的每个项目。 我为listview设置了OnTouch,并按左右边距设置拖放项目。 这是我的程序:

private void setLastViewDistance(float distanceX, View lastView) {
    if (lastView.getLayoutParams().getClass() == AbsListView.LayoutParams.class)
        lastView = ((ViewGroup) lastView).getChildAt(0);

    LinearLayout.LayoutParams lp = (LinearLayout.LayoutParams) lastView.getLayoutParams();
    lp.leftMargin = (int) distanceX;
    lp.rightMargin = -(int) distanceX;
    lastView.setLayoutParams(lp);
    lastView.postInvalidate();
}

但是这段代码是手机设备中的慢动作。 是什么想法像setLeft(不工作)setRight(不工作)或......? 谢谢!

1 个答案:

答案 0 :(得分:2)

看起来这个问题几乎与你的问题相同:android drag view smooth

在listview中拖放有点复杂......但是有一个库(https://github.com/bauerca/drag-sort-listview)或者你可以阅读这个拖放教程:http://www.vogella.com/articles/AndroidDragAndDrop/article.html