github 地址
https://github.com/ikew0ng/SwipeBackLayout
借鉴学习整理 侵删
http://www.bubuko.com/infodetail-911954.html
ios的小基友嘲讽了很久,他们的滑动返回,下班地铁上刷 掘金。看到这个介绍,真是眼前一亮。
使用步骤:
1>. 使当前的Activity继承SwipeBackActivity
mSwipeBackLayout = getSwipeBackLayout();
//设置滑动方向,可设置EDGE_LEFT, EDGE_RIGHT, EDGE_ALL, EDGE_BOTTOM
mSwipeBackLayout.setEdgeTrackingEnabled(SwipeBackLayout.EDGE_LEFT);
2>.在使用的主题中添加下面的属性,否则滑动时activity的下层是黑色的
<item name="android:windowIsTranslucent">true</item>
3>.手动设置不删除
setSwipeBackEnable(false); //禁止滑动删除
4>.这个滑动删除的效果只能从边界滑动才有效果,如果要扩大touch的范围,可以调用
mSwipeBackLayout.setEdgeSize(int size);
5>. 上面这个方法不太好用,效果不明显,推荐修改ViewDragHelper.java这个类源码中的getEdgeTouched(int x, int y)方法,如下
private int getEdgeTouched(int x, int y) {
int result = 0; result =EDGE_LEFT;
//这样每次都是全屏左滑删除
//解决只有点击屏幕左边才有响应的问题
/* if (x < mParentView.getLeft() + mEdgeSize)
result = EDGE_LEFT;
if (y < mParentView.getTop() + mEdgeSize)
result = EDGE_TOP;
if (x > mParentView.getRight() - mEdgeSize)
result = EDGE_RIGHT;
if (y > mParentView.getBottom() - mEdgeSize)
result = EDGE_BOTTOM;
*/
return result;
}
: