티스토리 뷰

반응형

 

Xamarin 뒤로가기 프로그램 종료

앱에서 뒤로 가기 버튼을 눌러서 프로그램을 종료시키는 경우가 많다. 만약 가장 첫 페이지에서 뒤로 가기 버튼을 눌렀는데 별도로 종료하는 기능을 넣어주지  않으면 앱은 종료된 것처럼 화면에서 사라지는데 실제로 프로그램은 종료되지 않은 상태로 남아있게 된다. 뒤로 가기 버튼을 1초 안에 2번 누르면 종료되도록 예제를 만들어 보려고 한다.

 

 

 


 

 

뒤로가기 종료 예제

1. 뒤로가기 버튼을 누를 경우 orverride 된 OnBackPressed() 이벤트 함수로 받을 수 있다.

2. MakeText를 사용해서 "한 번 더 누르면 종료됩니다" 메시지를 출력

3. 그리고 현재 시간을 함수 밖에서 저장(초기화되지 않도록 하기 위함)

4. 다시 뒤로가기 버튼을 누르면 첫 번째 뒤로 가기 했을 때 시간과 현재 시간을 비교

5. 시간이 1초 이내로 차이날 경우 base.OnBackPressed() 사용해서 프로그램 종료.

 

private long secondClickTime;

public override void OnBackPressed()
{
    if (SystemClock.ElapsedRealtime() - secondClickTime < 1000) //1초 내에 다시 뒤로가기 클릭한 경우 종료
    {
        base.OnBackPressed(); //종료 이벤트
    }

    Android.Widget.Toast.MakeText(this, "한 번 더 누르면 종료됩니다.", ToastLength.Short).Show();

    secondClickTime = SystemClock.ElapsedRealtime(); // 첫번째 뒤로가기 클릭 시간 기록
}

 

앱에서 특정 버튼이나 메뉴를 통해서 프로그램을 종료시킬 경우 사용자 입장에서는 번거로운 작업이다. OnBackPressed() 이벤트 함수를 사용해서 뒤로 가기 버튼을 눌러서 종료되도록 하면 편하게 종료시킬 수 있다.

 

 

반응형
댓글
공지사항