dmo*_*dez 40 android android-listview
我正在列表视图中开发一个带有商店列表的应用程序.当我listview向右(或向左)滑动项目时,我需要这个项目应该从列表视图中删除.
我有我的listview,只需要这个功能.
提前致谢.
mac*_*ing 19
这就是我意识到这种效果的方式.我们有一个ListView lvSimple,我们将onTouchListener添加到我们的lvSimple.这是我的工作代码.
float historicX = Float.NaN, historicY = Float.NaN;
static final int DELTA = 50;
enum Direction {LEFT, RIGHT;}
...
ListView lvSimple = (ListView) findViewById(R.id.linLayout);
...
lvSimple.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
historicX = event.getX();
historicY = event.getY();
break;
case MotionEvent.ACTION_UP:
if (event.getX() - historicX < -DELTA) {
FunctionDeleteRowWhenSlidingLeft();
return true;
}
else if (event.getX() - historicX > DELTA) {
FunctionDeleteRowWhenSlidingRight();
return true;
}
break;
default:
return false;
}
return false;
}
});
Run Code Online (Sandbox Code Playgroud)
FunctionDeleteRowWhenSlidingLeft()当我们向左滑动时,函数正在调用,FunctionDeleteRowWhenSlidingRight()- 分别向右滑动.在此功能中,您需要粘贴动画代码.
Android-Developer的回答指向Roman Nurik在gist.github.com上的代码.此代码已过期.他在他的开源项目Dash Clock中使用这个Swipe来解散监听器.
在使用Gist.github.com中的代码之前,您应该了解一些事项.
所以我建议使用更新的代码.您可以在此处找到更新的来源.
您应该考虑的另一个选择是使用Tim Roes的EnhancedListView库. [更新- 2015年8月1日]随着引进的RecycleView该库已被弃用.
前面提到的Roman Nurik的SwipeToDismiss监听器需要API等级12或更高.Jake Wharton移植此代码以支持SwipeToDismissNOA中的所有API级别.
Tim Roes进一步扩展了这个库以支持撤销功能.
| 归档时间: |
|
| 查看次数: |
57838 次 |
| 最近记录: |