中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

Android雙擊返回鍵退出程序的3種寫法

小云
134
2023-08-23 17:03:14
欄目: 編程語言

  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);

}

0
普宁市| 德格县| 济阳县| 柞水县| 廊坊市| 绥化市| 电白县| 渝中区| 县级市| 麻阳| 洛南县| 青田县| 昆山市| 米林县| 鹿邑县| 扬中市| 九龙县| 玉龙| 平定县| 肇庆市| 桐梓县| 阿坝| 定兴县| 抚松县| 海门市| 无极县| 故城县| 三都| 隆安县| 郁南县| 石台县| 孟州市| 泗洪县| 桓仁| 汕头市| 朝阳县| 噶尔县| 漳平市| 镇沅| 信丰县| 泾源县|