I am not sure if this question has been asked here or not. I look for a way to simulate the slide action in listview of Android. Similar to that of Samsung Galaxy/Nexus contact
Here's a nice post that may help you. Implementation may be a bit tricky, but that's a nice method of solving your problem IMHO. Hope this helps.
Check out SwipeActionAdapter
It's an awesome library that allows Swipe in both directions with an underlying Layout
or Color
, and performs a desired action when the swipe/slide gesture is done. You can configure it to reveal/change the layout.
Check out SwipeMenuListView
In a sense, it is more like the Swipe-able TableViews in iOS.
This is how I realize this action. We have a ListView lvSimple and we add onTouchListener to our lvSimple. This is my working code.
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)
{
// TODO Auto-generated method stub
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;
}
});
where function FunctionDeleteRowWhenSlidingLeft() is calling when when we sliding to the left, FunctionDeleteRowWhenSlidingRight - to the right respectively. In this function you need paste code for animation.
this link is very clear and useful
IOS 7 Swipe Gesture in Android listview. This repo provides listview swipe gesture pattern like IOS7 mailbox. messages to your Application.