SwipeBackLayout滑动返回

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;
}

:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,005评论 25 709
  • 记得看《秒速五厘米》的时候,第一遍我竟然看睡着了!而这次《你的名字》确实让人毫无遗憾!打算找个人少的场再看一次! ...
    Piemon07阅读 1,756评论 0 0
  • 凌晨04:19,歌手薛之谦与前妻高磊鑫,同时发了微博“复合宣言”。 之所以选择这个时间,因为4月1...
    令狐不聪阅读 1,567评论 0 1
  • 今天我和爸爸正在研究如何固定一件东西,闺女也在一旁积极地说着什么,不一会儿闺女就不说话了,还在那掉眼泪,我问闺女怎...
    蝴蝶王妃阅读 2,405评论 0 3

友情链接更多精彩内容