117.info
人生若只如初见

Android双击返回键退出程序的3种写法

  1. 使用onBackPressed()方法:

@Override

public void onBackPressed() {

super.onBackPressed();

// 退出程序的操作

finish();

}

  1. 使用双击返回键的计时器:

private static final long DOUBLE_BACK_PRESS_TIME = 2000; // 双击返回键的间隔时间

private long backPressTime;

@Override

public void onBackPressed() {

if (backPressTime + DOUBLE_BACK_PRESS_TIME > System.currentTimeMillis()) {

super.onBackPressed();

// 退出程序的操作

finish();

} else {

Toast.makeText(this, “再次点击返回键退出程序”, Toast.LENGTH_SHORT).show();

}

backPressTime = System.currentTimeMillis();

}

  1. 使用手势库GestureDetector:

private static final int SWIPE_THRESHOLD = 100; // 手势的阈值

private static final int SWIPE_VELOCITY_THRESHOLD = 100; // 手势的速度阈值

private GestureDetector gestureDetector;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

// 初始化GestureDetector

gestureDetector = new GestureDetector(this, new GestureDetector.SimpleOnGestureListener() {

@Override

public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {

// 计算手势的速度和方向

float deltaX = e2.getX() - e1.getX();

float deltaY = e2.getY() - e1.getY();

if (Math.abs(deltaX) > Math.abs(deltaY) && Math.abs(deltaX) > SWIPE_THRESHOLD && Math.abs(velocityX) > SWIPE_VELOCITY_THRESHOLD) {

if (deltaX > 0) {

// 右滑动,退出程序的操作

finish();

}

}

return super.onFling(e1, e2, velocityX, velocityY);

}

});

}

@Override

public boolean onTouchEvent(MotionEvent event) {

// 将触摸事件传递给GestureDetector处理

gestureDetector.onTouchEvent(event);

return super.onTouchEvent(event);

}

未经允许不得转载 » 本文链接:https://www.117.info/ask/fe3d7AzsLBgRXAlA.html

推荐文章

  • android页面怎样提高用户体验

    要提高Android页面的用户体验,可以从以下几个方面入手:
    网络优化 减少网络延迟:使用CDN、优化DNS解析、选择合适的网络协议(如HTTP/2或QUIC)、优化服务...

  • android页面适配不同屏幕尺寸方法

    在Android开发中,适配不同屏幕尺寸是一个重要的任务。以下是一些常用的方法和技巧:
    1. 使用相对布局(RelativeLayout)和约束布局(ConstraintLayout) R...

  • android页面怎样实现响应式设计

    在Android中实现响应式设计,可以通过以下几种方法: 使用ConstraintLayout布局:ConstraintLayout是一个灵活的布局管理器,它允许你通过约束来定位和调整视图的...

  • android页面如何优化加载速度

    优化Android页面加载速度是一个多方面的过程,涉及到布局、图片加载、内存管理等多个方面。以下是一些具体的优化技巧:
    布局优化 减少布局层级:使用Constr...

  • 电脑开机后为什么显示器无信号

    显示器无信号可能是由以下几个原因引起的: 连接问题:检查电脑和显示器之间的连接线是否插紧,确保连接正确。如果使用的是HDMI或VGA等接口,请确保接口无损坏或...

  • win10企业版和专业版有什么区别

    Windows 10企业版和专业版是微软推出的两个不同版本的操作系统,主要针对不同的用户需求和使用场景。它们之间的区别如下: 授权方式:Windows 10企业版是通过企业...

  • 电脑的网络地址怎么查

    要查找电脑的网络地址,您可以使用以下步骤: 在桌面上打开一个命令提示符窗口。您可以按下Windows键+R,然后键入"cmd"并按下Enter键来快速打开命令提示符窗口。...

  • explorer.exe应用程序错误如何解决

    当您遇到explorer.exe应用程序错误时,可以尝试以下解决方法: 重启计算机:有时候explorer.exe错误可能是由于临时的系统问题造成的,重启计算机可能会解决问题。...