Android back按键基础开发
在app设计中, 通常都会针对用户的退出按钮进行特别的开发:
- 按下back按钮两次才退出应用
- 在ActionBar中新增回退按钮
- 增加按钮直接回退到主屏幕
- ….
该篇文章针对以上的几种常见需求, 做一个模拟的例子进行简单说明
自定义Back按键
问题: 应用程序以自己的方式来处理用户按下物理Back按键后的行为;
解决方案:
可以在Activity中调用onBackPressed()回调方法或者再Fragment中popBackStack中操作回退栈;
实现:
如果想要在Activity中进行用户点击物理Back按键后得到相应的通知, 可以复写Activity中的onBackPressed()回调方法。
// 当用户点击物理Back按键的时候, 会调用该方法
class MainActivity extends Activity{
...
@Override
public void onBackPressed() {
super.onBackPressed();
}
}
这个方法的默认实现会将该Activity中绑定的Fragment全部弹出并且销毁该Activity, 如果需要修改这个默认流程, 只需要确保不调用super方法即可。(不进行源码分析)
场景: 用户需要在两秒钟之内按两次Back按键才认为需要退出该界面, 否则认为用户的误操作。
// 当用户点击物理Back按键的时候, 会调用该方法
long firstDown