SwipeBackLayout 仿 IOS 手势退出界面的开源库。
SwipeBackLayout 可以通过在左、右和下边缘来拖动整个 Activity 达到退出 Activity 的效果。
1.Gradle :
compile 'me.imid.swipebacklayout.lib:library:1.0.0'
2.Activity继承于MySwipeBackActivity
public class BaseActivity extends MySwipeBackActivity{}
3.在value/style主题中添加(否则activity不会透明)
<item name="android:windowIsTranslucent">true</item>
可以通过 getSwipeBackLayout() 定制 SwipeBackLayout
项目中添加最新的 supportV4 包
主题设置的时候最好使用一个统一的主题
在你的activity中调用setSwipeBackEnable()控制改activity是否使用手势删除
setSwipeBackEnable(false);//取消侧滑关闭,默认开启
4.MySwipeBackActivity
public class MySwipeBackActivity extends AppCompatActivity implements SwipeBackActivityBase { private SwipeBackActivityHelper mHelper;//右滑删除Activity帮助类 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mHelper = new SwipeBackActivityHelper(this); mHelper.onActivityCreate(); } @Override protected void onPostCreate(Bundle savedInstanceState) { super.onPostCreate(savedInstanceState); mHelper.onPostCreate(); } @Override public View findViewById(int id) { View v = super.findViewById(id); if (v == null && mHelper != null) return mHelper.findViewById(id); return v; } @Override public SwipeBackLayout getSwipeBackLayout() { return mHelper.getSwipeBackLayout(); } @Override public void setSwipeBackEnable(boolean enable) { getSwipeBackLayout().setEnableGesture(enable);//启动手势 } @Override public void scrollToFinishActivity() { Utils.convertActivityToTranslucent(this);//将当前类转换为半透明效果(精髓所在) getSwipeBackLayout().scrollToFinishActivity();//关闭当前activity } }