第一种:

private long exitTime = 0;

@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if (event.getKeyCode() == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN) {
   if ((System.currentTimeMillis() - exitTime) > 2000) {
         Toast.makeText(getApplicationContext(), "再按一次退出程序",
           Toast.LENGTH_SHORT).show();
         exitTime = System.currentTimeMillis();
   } else {
          ActivityStack.create().AppExit(TabMainActivity.this);
   }
       return true;
 }

return super.dispatchKeyEvent(event);
}

第二种:

@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if (event.getKeyCode() == KeyEvent.KEYCODE_BACK&& event.getAction()==KeyEvent.ACTION_DOWN) {
     showLoginOutDialog();
      return true;
}
    return super.dispatchKeyEvent(event);
}

/**
* 退出程序
*/
private void showLoginOutDialog() {
    AlertDialog.Builder dialog = new AlertDialog.Builder(this);
      dialog.setTitle("温馨提示");
      dialog.setMessage("您确定要退出客户端吗?");
      dialog.setPositiveButton("取消", new DialogInterface.OnClickListener() {
 public void onClick(DialogInterface dialog, int which) {
      dialog.dismiss();
 }
});
    dialog.setNegativeButton("确定", new DialogInterface.OnClickListener() {
 public void onClick(DialogInterface dialog, int which) {

MainActivity.this.finish();
     android.os.Process.killProcess(android.os.Process.myPid());
     System.exit(0);
 }
 }).create();
  dialog.show();
}

底部tab的返回退出和对话框的更多相关文章

  1. Android自定义控件----RadioGroup实现APP首页底部Tab的切换

    ​[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...

  2. 界面底部Tab实现

    现在基本上大部分的手机APP都要实现底部Tab,底部实现Tab的实现方式有很多种,那么有没有好的实现方式呢? 今天我将使用一个开源插件来实现底部Tab 参考自zhangli_的博客:http://bl ...

  3. Android Studio精彩案例(二)《仿微信动态点击底部tab切换Fragment》

    转载本专栏文章,请注明出处,尊重原创 .文章博客地址:道龙的博客 现在很多的App要么顶部带有tab,要么就底部带有tab.用户通过点击tab从而切换不同的页面(大部分情况时去切换fragment). ...

  4. Vue(小案例)底部tab栏和顶部title栏的实现

    ---恢复内容开始--- 一.前言 1.底部tab栏实现 2.顶部title栏实现 二.主要内容   1.底部tab栏实现(将底部导航提取到公共的组件中) 具体效果:当点击切换不同的tab的时候,对应 ...

  5. Android典型界面设计——FragmentTabHost+Fragment实现底部tab切换

    一.问题描述 在上次博文中,我们使用RadioGroup+ViewPage+Fragmen实现了顶部滑动导航(查看文章:http://www.cnblogs.com/jerehedu/p/460759 ...

  6. Xamarin.Forms 学习系列之底部tab

    App中一般都会有一个底部tab,用于切换不同的功能,在Xamarin中应该制作底部tab了,需要把Android的TabbedPage做一次渲染,IOS的则不用,接下来说下详细步骤: 1.在共享项目 ...

  7. flutter 安卓再次点击返回退出应用

    安卓手机点击实体或者虚拟返回键,会返回上一级,当到达最上层是,点击返回退出应用,为了防止用户连续点击返回,导致应用退出,在用户点击返回到最上层时,如果再次点击返回,第一次不退出,并提升用户再次点击退出 ...

  8. 自定义 简单 底部tab

    项目地址:https://gitee.com/jielov/music-netease-api.git 先创建三个页面 分别为 home.vue , classify.vue, my.vue . 以下 ...

  9. Android实现“退出确认”对话框

    @Override public void onBackPressed() { new AlertDialog.Builder(this).setTitle("确认退出吗?") . ...

随机推荐

  1. 一些相关的github

    https://github.com/LTS4/DeepFool 貌似是说可以愚弄深度神经网络? https://github.com/tflearn/tflearn TF学习指南 http://gi ...

  2. set的应用

    头文件 ;#include <set> 简单应用: begin()     返回set容器的第一个元素 end()   返回set容器的最后一个元素 clear()        删除se ...

  3. ps通道磨皮

    1.Ctrl+J 复制一个新图层2.进入通道面板,复制一个噪点最多的通道3.滤镜--其他--高反差保留 (我一般设数值13)4.图像--计算 (混合模式选择强光) 计算3次,得到Alpha3 5.按住 ...

  4. 认识CPU Cache

    http://geek.csdn.net/news/detail/114619 7个示例科普CPU Cache:http://coolshell.cn/articles/10249.html Linu ...

  5. Netflix Falcor获取JSON数据

    Netflix开源了JavaScript库Falcor,它为从多个来源获取JSON数据提供了模型和异步机制. Netflix利用Falcor库实现通过JSON数据填充他们网页应用的用户界面.所有来自内 ...

  6. Intellij IDEA连接Git@OSC

    错误提示:fatal: remote origin already exists. 解决办法:$ git remote rm origin http://my.oschina.net/lujianin ...

  7. PLSQL 逻辑多线程

    PROCEDURE get_sheetid(i_topic IN VARCHAR2, o_newsheetid OUT VARCHAR2) IS    PRAGMA AUTONOMOUS_TRANSA ...

  8. php Base64编码/解码

    一.PHP使用方法 //加密 $str = 'This is an encoded string'; echo base64_encode($str); //解密 $str = 'VGhpcyBpcy ...

  9. Linux中cp和scp命令的使用方法

    Linux为我们提供了两个用于文件copy的命令,一个是cp,一个是scp,但是他们略有不同. cp --- 主要是用于在同一台电脑上,在不同的目录之间来回copy文件 scp --- 主要是在不同的 ...

  10. [CF148E] Porcelain (分组背包)

    题目链接:http://codeforces.com/problemset/problem/148/E 题目大意:有n组数据,每次可以从任意一组的两端取出1个数,问你取m个数最大能组成多少? 思路:先 ...