관리 메뉴

Bbaktaeho

[Android] AlertDialog 사용하기 (안드로이드, 경고창, 팝업창) 본문

개발 (Develop)/안드로이드 (Android)

[Android] AlertDialog 사용하기 (안드로이드, 경고창, 팝업창)

Bbaktaeho 2020. 9. 20. 14:41
반응형

들어가며


종료 버튼을 누르면 바로 종료하지 않고 사용자에게 한 번 더 알림 창을 제공하는 앱을 만들어보겠습니다.

AlertDialog


AlertDialog 클래스는 사용자에게 알림 대화상자를 제공합니다.

경고 또는 알림를 알릴 수도 있고, 사용자에게 데이터를 받아올 수도 있습니다.

 

기본 API에 포함된 외에 appcompat 패키지에 포함된 클래스도 있습니다. appcompat 패키지는 예전 버전의 안드로이드에서도 사용할 수 있도록 제공되는 것으로 android.app 패키지에 포함된 클래스를 이용해서 구현하겠습니다.

프로젝트 생성


bbaktaeho-95.tistory.com/53

 

[Android] Click 이벤트로 Toast 생성하기 (setOnclickListener, makeToast)

개발하기 전에 안드로이드 애플리케이션을 개발하려면 IntelliJ IDEA, Android Studio와 같은 통합 개발환경이 필요합니다. 저는 Android 4.0.1 버전으로 진행하겠습니다. 기획한 내용은 버튼과 이미지뷰를

bbaktaeho-95.tistory.com

위의 포스팅을 참고해주세요.

res/activity_main.xml


<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">

    <Button
    android:id="@+id/btn_quit"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="종료"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

ConstraintLayout 정 가운데 종료 버튼을 추가합니다.

MainActivity.java


void showDialog() {
        AlertDialog.Builder msgBuilder = new AlertDialog.Builder(MainActivity.this)
                .setTitle("앱 끈다?")
                .setMessage("진짜 끈다?")
                .setPositiveButton("꺼라", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        finish();
                    }
                })
                .setNegativeButton("취소", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        Toast.makeText(MainActivity.this, "안 끔", Toast.LENGTH_SHORT).show();
                    }
                });
        AlertDialog msgDlg = msgBuilder.create();
        msgDlg.show();
    }

다이얼로그를 보여주는 메서드를 만들어줍니다.

 

Button btnQuit = findViewById(R.id.btn_quit);
btnQuit.setOnClickListener(new View.OnClickListener() {
	@Override
	public void onClick(View view) {
		showDialog();
	}
});

버튼을 클릭했을 때 showDialog 메서드를 실행시킵니다.

실행


취소 클릭
꺼라 클릭

반응형