android 实现Activity的右滑返回效果

使用github上的SwipeBackLayout这个开源项目:

https://github.com/ikew0ng/SwipeBackLayout


现在项目中导入SwipeBackLayout模块,或者添加在gradle中添加依赖:

compile 'me.imid.swipebacklayout.lib:library:1.0.0'

定义基类BaseActivity继承SwipeBackActivity:

publicclassBaseActivity extends SwipeBackActivity {

private SwipeBackLayout mSwipeBackLayout;

@Override

protectedvoidonCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

mSwipeBackLayout = getSwipeBackLayout();

//设置滑动方向,可设置EDGE_LEFT, EDGE_RIGHT, EDGE_ALL, EDGE_BOTTOM

mSwipeBackLayout.setEdgeTrackingEnabled(SwipeBackLayout.EDGE_LEFT);

}

}


需要有右滑返回的Activity只要继承这个BaseActivity即可。

主页禁止右滑返回需设置:

publicclassMainActivity extends BaseActivity {

private SwipeBackLayout mSwipeBackLayout;

@Override

protectedvoidonCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

mSwipeBackLayout = getSwipeBackLayout();

//设置滑动方向,可设置EDGE_LEFT, EDGE_RIGHT, EDGE_ALL, EDGE_BOTTOM

mSwipeBackLayout.setEdgeTrackingEnabled(SwipeBackLayout.EDGE_LEFT);

setSwipeBackEnable(false);

//设置滑动的距离

mSwipeBackLayout.setEdgeSize(400);

}

}


现在可以右滑返回了,但是发现滑动时activity的下层是黑色的,在使用的主题中添加下面的属性:

<item name="android:windowIsTranslucent">false</item>  

添加到application下面的style中。


解决SwipeBackLayout滑动返回时显示桌面而不是显示上一层的Bug

在那个Activity的style下添加设置即可

<item name="android:windowIsTranslucent">false</item> 



SwipeBackLayout源代码分析参看:

http://skykai521.github.io/2016/03/04/SwipeBackLayout%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%90/





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值