跳转至

使用 Kotlin 在安卓中双击后退按钮退出应用

原文:https://www . geesforgeks . org/app-on-exit-双击-back-button-in-Android-using-kot Lin/

“后退”按钮在许多不同的安卓应用中有许多不同的用途。虽然一些应用程序开发人员使用它来关闭他们的应用程序,但一些人使用它来遍历回应用程序以前的活动。许多应用程序要求用户在一个时间间隔内按两次“后退”按钮才能成功关闭应用程序,这被认为是最佳做法。因此,双击后退按钮退出应用程序是一个很好的做法。因为有时用户会误按后退按钮。所以,为了确保用户是否真的想退出应用,我们实现了这个功能。

因此,在本文中,我们将学习如何在应用程序中双击后退按钮来实现退出功能。我们将使用 kotlin 在我们的应用程序中实现该功能。

:用 Java 实现参考本文:如何在安卓中实现再次按 Back 退出?

分步实施

第一步: 在科特林新建一个安卓项目。

第二步:活动的 XML 布局,在这个项目中我们只有一个活动。而且 XML 布局设计也会非常简单。

可扩展标记语言

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <ImageView
        android:layout_width="80dp"
        android:layout_height="80dp"     
        android:src="@drawable/ic_geeksforgeeks"
        app:layout_constraintBottom_toTopOf="@+id/textView"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Welcome to GeeksForGeeks"
        android:textColor="#7CB342"
        android:textSize="20dp"
        android:textStyle="bold"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.303" />

</androidx.constraintlayout.widget.ConstraintLayout>

您可以自定义布局。

步骤 3: 现在在 mainActivity 中,我们将覆盖 onBackPressed()方法。第一次按下后退按钮,我们将存储当前系统时间,并显示一个祝酒词。如果用户在 3 秒内再次按下后退按钮,我们将调用 finish()方法。

我的锅

package com.ayush.gfg_exit

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Toast
import kotlin.properties.Delegates

class MainActivity : AppCompatActivity() {
    var backPressedTime: Long = 0
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
    }

    override fun onBackPressed() {
        if (backPressedTime + 3000 > System.currentTimeMillis()) {
            super.onBackPressed()
            finish()
        } else {
            Toast.makeText(this, "Press back again to leave the app.", Toast.LENGTH_LONG).show()
        }
        backPressedTime = System.currentTimeMillis()
    }
}

所以我们的应用已经准备好了。

输出:


我们一直在努力

apachecn/AiLearning

【布客】中文翻译组