首页 > 技术文章 > 仿微信右滑关闭Activity

bhm666 2017-04-05 08:49 原文

SwipeBackLayout

 

  1.AS添加依赖 

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

eclipse 想办法下载库工程,以库工程形式导入。


2.基类Activity继承SwipeBackActivity
 
  BaseActivity extends SwipeBackActivity

3、不需要右滑的Activity在onCreate中添加以下语句即可:

   getSwipeBackLayout().setEnableGesture(false);//关闭右滑返回上一级


4、为app style(Theme)添加以下属性
 
<!-- 解决activity切换时的黑屏问题 -->
<item name="android:windowIsTranslucent">true</item>

5、添加混淆
#SwipeBackLayout
-dontwarn me.imid.swipebacklayout.lib.**
-keep class me.imid.swipebacklayout.lib.**{*;}

6、解决滑动返回上一个Activity出现桌面的bug

  单独为主界面Activity设置以下属性

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

7、由于
SwipeBackActivity继承了FragmentActivity,所以对一些需要使用v7包(AppCompatActivity)属性
的Activity需要单独处理:
1.看Activity是否需要右滑关闭,如不需要,则继承FragmentActivity即可。
2.若需要,则可以重新生成SwipeBackActivity的库工程,让SwipeBackActivity继承AppCompatActivity,
但需要注意主题的修改(继承
AppCompatActivity的Activity,主题要使用v7包下的主题,才可用v7包下的某些属性

推荐阅读