android 仿ios右滑退出当前activity
2017-11-15 11:20
351 查看
1.概述 iPhone的用户在使用APP的时候,打开很多页面想关闭的时候只需要在屏幕的左侧向右滑动即可退出当前页面,这是iPhone没有返回键的原因。但是这个效果很炫酷呀,能应用在Android上不是更好吗,今天就来讲一个这个功能的实现,不深究代码,只讲使用。先上效果图吧:2.实现过程添加依赖 compile ‘me.imid.swipebacklayout.lib:library:1.0.0’ 用的是第三方的库先写一个 BaseActivity 继承 SwipeBackActivity:
public class BaseActivity extends SwipeBackActivity { private SwipeBackLayout mSwipeBackLayout; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mSwipeBackLayout = getSwipeBackLayout(); //设置滑动方向,可设置EDGE_LEFT, EDGE_RIGHT, EDGE_ALL, EDGE_BOTTOM mSwipeBackLayout.setEdgeTrackingEnabled(SwipeBackLayout.EDGE_LEFT); mSwipeBackLayout.setEdgeSize(200);//滑动删除的效果只能从边界滑动才有效果,如果要扩大touch的范围,可以调用这个方法 } }通过setEdgeTrackingEnabled方法设置从什么方向滑动退出通过setEdgeSize方法设置滑动退出的边界范围然后,下面依次是:MainActivity ,SecondActivity ,ThreeActivity 分别继承自 BaseActivity 。 方法的调用都添加了注释,就不在多说啦。
public class MainActivity extends BaseActivity {@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);setSwipeBackEnable(false); //主 activity 可以调用该方法,禁用滑动退出findViewById(R.id.btn_startSecondActivity).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {startActivity(new Intent(MainActivity.this, SecondActivity.class));}});}}
public class SecondActivity extends BaseActivity {@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_second);findViewById(R.id.btn_startThirdActivity).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {startActivity(new Intent(SecondActivity.this, ThirdActivity.class));}});}/*** 当按下返回键时*/@Overridepublic void onBackPressed() {scrollToFinishActivity();//左滑退出activity}}
public class ThirdActivity extends BaseActivity {@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_third);}/*** 当按下返回键时*/@Overridepublic void onBackPressed() {scrollToFinishActivity();//左滑退出activity}}最最重要的来了,最重要的是把需要侧滑退出的activity在清单文件里设置theme为透明样式,要不侧滑的时候底部是黑色,特别的难看。
<style name="NoTitleTranslucentTheme" parent="AppTheme"><item name="android:windowNoTitle">true</item><item name="android:windowIsTranslucent">true</item></style>新建一个style,在清单文件里引用即可。至此,侧滑退出的效果就可以实现啦,是不是很炫酷,有好的东西持续分享给大家,博客持续更新中。。。
相关文章推荐
- Android实现IOS向右滑动退出当前Activity
- android程序退出当前activity的方法
- Android 右滑退出当前Activity
- Unity响应Android的返回键,退出当前Activity
- android程序退出当前activity的方法
- android在当前activity退出整个程序
- Android 一键打造仿IOS右滑退出Activity,非常简单的集成方式(SwipeFinishLayout)
- Android中仿ios侧滑退出activity
- Android编程技巧之随意从当前Activity退出应用
- android程序退出当前activity的方法
- Android 一键打造仿IOS右滑退出Activity,非常简单的集成方式(SwipeFinishLayout)
- Android finish 无法退出当前Activity
- android程序退出当前activity的方法
- android程序退出当前activity的方法
- Unity响应Android的返回键,退出当前Activity
- Android按back键不退出当前Activity
- android程序退出当前activity的方法
- android程序退出当前activity的方法
- Android仿iOS侧滑退出当前界面功能
- android Activity右滑返回,退出当前activity