ios开发中有关于滑动返回上一页的功能,在很多的项目中也会出现类似的需求。本文中的方法可以自定义实现上下左右多方向滑动回返,不多说,看代码
首先第一步,添加相关的依赖
compile 'me.imid.swipebacklayout.lib:library:1.0.0'
然后需要封装一个activity的基类,这里命名为BaseActivity ,并且让基类集成SwipeBackActivity
public class BaseActivity extends SwipeBackActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_base);
}
}
后面就是在需要滑动返回的activity中添加滑动返回的配置
滑动方式有四种:All,Right,Left,Bottom。不做任何处理默认为向左滑动,也可以设置为不滑动
SwipeBackLayout backLayout = getSwipeBackLayout();
//设置为向所有方向都可以滑动
backLayout.setEdgeTrackingEnabled(SwipeBackLayout.EDGE_ALL);
//设置为向左滑动
backLayout.setEdgeTrackingEnabled(SwipeBackLayout.EDGE_LEFT);
//设置为向右滑动
backLayout.setEdgeTrackingEnabled(SwipeBackLayout.EDGE_RIGHT);
//设置为向下滑动
backLayout.setEdgeTrackingEnabled(SwipeBackLayout.EDGE_BOTTOM);
//设置为不能滑动
backLayout.setEnableGesture(false);
最后需要给activity设置一下主题,防止滑动的时候背景是黑色
<style name="AppBackTheme" parent="@android:style/Theme.Light.NoTitleBar">
<item name="android:windowIsTranslucent">true</item>
</style>
到这里就结束了,方法是不是很简单。
最后供上参考地址: