如何在Android中滑动列表视图项?

时间:2016-05-31 03:30:22

标签: android swipe

我有一个列表视图,我想这样做,所以我可以刷每个项目以显示删除按钮:

enter image description here

我已经弄明白了如何识别滑动事件,我正在使用此代码(listItem类型为View):

listItem.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) 
        {
            switch (event.getAction()) 
            {
                case MotionEvent.ACTION_DOWN:
                    _xSwipe1 = event.getX();
                    break;

                case MotionEvent.ACTION_UP:
                    _xSwipe2 = event.getX();

                    float deltaX = _xSwipe2 - _xSwipe1;

                    if (deltaX < 0) 
                    {
                        Log.e("SWIPE", "Right to Left swipe");
                    }

                    else if (deltaX >0)
                    {
                        Log.e("SWIPE", "Left to right swipe");
                    }

                    break;
            }

            return false;
        }
    });

当我滑动时,我可以在日志中看到正在识别滑动事件。

但是,我不确定如何让列表项开始消失在左边?

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

如果您知道滑动发生的时间以及用户刷了多少,您可以根据用户刷了多少来调用View.setTranslationX()。或者,您可以完全放弃滑动检测逻辑,并使用只有2页的ViewPager。然后,您可以覆盖PagerAdapter中的PagerAdapter.getPageWidth(...),以便删除按钮只占用有限的空间。