我有一个列表视图,我想这样做,所以我可以刷每个项目以显示删除按钮:
我已经弄明白了如何识别滑动事件,我正在使用此代码(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;
}
});
当我滑动时,我可以在日志中看到正在识别滑动事件。
但是,我不确定如何让列表项开始消失在左边?
非常感谢任何帮助。
答案 0 :(得分:1)
如果您知道滑动发生的时间以及用户刷了多少,您可以根据用户刷了多少来调用View.setTranslationX()
。或者,您可以完全放弃滑动检测逻辑,并使用只有2页的ViewPager
。然后,您可以覆盖PagerAdapter
中的PagerAdapter.getPageWidth(...)
,以便删除按钮只占用有限的空间。