상세 컨텐츠

본문 제목

[안드로이드 코틀린] 다이얼로그(Dialog) 사용자정의 (Custom) 화면으로 보여주는 방법

안드로이드

by aries574 2022. 7. 7. 14:01

본문


이번에는 사용자가 직접 만든 화면을 다이얼로그 대화 상자로 보여주는 방법에 대하여 알아보겠습니다.


목차

1. 실행 화면
2. 다이얼로그 화면 만들기 custom_dialog.xml
3. 메인 화면 구현 activity_main.xml
4. 메인 코드 구현 MainActivity.kt


1. 실행 화면


2. 다이얼로그 화면 만들기 custom_dialog.xml

- 설명 -

1. 아이디 입력하는 EditText

2. 비밀번호 입력하는 EditText

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <EditText
        android:layout_width="match_parent"
        android:layout_height="75dp"
        android:hint="id"
        android:textSize="25sp" />

    <EditText
        android:layout_width="match_parent"
        android:layout_height="75dp"
        android:hint="password"
        android:inputType="textPassword"
        android:textSize="25sp" />
</LinearLayout>

 


3. 메인 화면 구현 activity_main.xml

- 설명 -

 다이얼로그(Dialog) 호출하는 Button

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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/dialog_btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:text="다이얼로그"
        android:textSize="25sp"/>
</RelativeLayout>


4. 메인 코드 구현 MainActivity.kt

- 설명 -

1. AlertDialog.Builder(this)

  다이얼로그 초기화

2. builder.setTitle

  다이얼로그 제목 설정

3. builder.setView

  다이얼로그 화면 설정

4. builder.setPositiveButton

  OK이벤트

5. builder.setNegativeButton

  취소 이벤트

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        //초기화
        val dialogBtn: Button = findViewById(R.id.dialog_btn)
        dialogBtn.setOnClickListener {

            //다이얼로그 호출
            showDialog()
        }

    }//onCreate


    private fun showDialog(){

        //AlertDialog 초기화
        val builder: AlertDialog.Builder = AlertDialog.Builder(this)

        //제목 설정
        builder.setTitle("로그인")

        //다이얼로그 화면 설정
        val inflater: LayoutInflater = layoutInflater
        builder.setView(inflater.inflate(R.layout.custom_dialog, null))

        //OK 이벤트
        builder.setPositiveButton("Ok"){
            p0, p1 ->
            //Ok누르면 실행할 코드
        }

        //취소 이벤트
        builder.setNegativeButton("Cancel"){
            dialog, p1 -> dialog.cancel()
        }

        val alertDialog: AlertDialog = builder.create()
        alertDialog.show()
    }
}//MainActivity

2022.07.01 - [안드로이드] - [안드로이드 코틀린] DrawerLayout Navigation 만드는 방법 part1 - 화면 만들기

 

[안드로이드 코틀린] DrawerLayout Navigation 만드는 방법 part1 - 화면 만들기

이번에는 옆으로 밀면 숨겨져 있는 메뉴를 보여주는 DrawerLayout 화면 만드는 방법을 알아보겠습니다. 목차 1. 실행 화면 2. 라이브러리 등록 3. 테마 설정 4. 툴바 화면 만들기 toolbar_layout.xml

aries574.tistory.com

2022.06.24 - [안드로이드] - [안드로이드 코틀린] Database Room 사용법 part1 - Room 설정

 

[안드로이드 코틀린] Database Room 사용법 part1 - Room 설정

안드로이드에서 앱 내부에 데이터를 관리하는 기능을 하는 Room 사용법에 대하여 알아보겠습니다. 이번 시간에는 기본 설정을 해보겠습니다. 아래 링크를 들어가시면 Room에 대한 상세한 정보를

aries574.tistory.com

2022.06.17 - [안드로이드] - [안드로이드 코틀린] 정해진 시간에 알람 울리는 방법 Notification TimePickerDialog part1 - 설정

 

[안드로이드 코틀린] 정해진 시간에 알람 울리는 방법 Notification TimePickerDialog part1 - 설정

사용자가 정한 시간에 알람이 울리게 하는 방법에 대하여 알아보겠습니다. 이번 시간에는 알람 관련 클래스와 설정들을 만들어 보겠습니다. 목차 1. 알람 클래스 만들기 NotificationHelper.kt 2. 

aries574.tistory.com

 

반응형

관련글 더보기

댓글 영역