상세 컨텐츠

본문 제목

[안드로이드 코틀린] 달력(DatePicker) 코드에서 호출하는 방법

안드로이드

by aries574 2022. 9. 8. 20:29

본문


이번 시간에는 달력(DatePicker)을 화면이 아니라 코드에서 호출하는 방법을 알아보겠습니다. 


목차

1. 실행 화면
2. 메인 화면 activity_main.xml
3. 메인 코드 MainActivity.kt


1. 실행 화면

 


2. 메인 화면 activity_main.xml

- 설명 -

 1. 선택한 날짜 보여주는 TextView

 2. 달력 호출하는 Button

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
    android:gravity="center"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <TextView
        android:id="@+id/dateText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="40sp" />

    <Button
        android:id="@+id/dateBtn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="30dp"
        android:text="달력"
        android:textSize="30sp" />
</LinearLayout>

 


3. 메인 코드 MainActivity.kt

- 설명 -

 1. val calendar: Calendar = Calendar.getInstance()

   달력 객체 생성

 2. calendar.get(Calendar.YEAR)

   년도 가져오기

 3. calendar.get(Calendar.MONTH)

    가져오기

 4. calendar.get(Calendar.DAY_OF_MONTH)

    가져오기

class MainActivity : AppCompatActivity() {

    lateinit var dateText: TextView

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

        dateText = findViewById(R.id.dateText)

        val dateBtn: Button = findViewById(R.id.dateBtn)

        //버튼 클릭 이벤트
        dateBtn.setOnClickListener {

            //달력 보여주기 함수
            showDatePicker()
        }
    }

    /**
     * 달력 보여주기 함수
     */
    private fun showDatePicker(){

        //오늘 날짜 변수에 담기
        val calendar: Calendar = Calendar.getInstance()

        val iYear = calendar.get(Calendar.YEAR)//년
        val iMonth = calendar.get(Calendar.MONTH)//월
        val iDay = calendar.get(Calendar.DAY_OF_MONTH)//일

        //달력 호출
        val datePicker: DatePickerDialog = DatePickerDialog(this,
            DatePickerDialog.OnDateSetListener { datePicker, year, month, day ->

                //1월은 0부터 시작해서 +1 해준다
                val tMonth: Int = month + 1

                //년 월 일
                val date: String = "$year / $tMonth / $day"

                //화면에 선택한 날짜 보여주기
                dateText.text = date
            }, iYear, iMonth, iDay)

        //달력 호출
        datePicker.show()
    }
}

2022.09.07 - [안드로이드] - [안드로이드 코틀린] 뒤로 가기 두 번 눌러 종료하는 방법

 

[안드로이드 코틀린] 뒤로 가기 두 번 눌러 종료하는 방법

이번 시간에는 뒤로 가기 버튼 두 번 눌러 앱 종료하는 방법을 알아보겠습니다. 한 번 누르면 한 번 더 누르라는 알림이 뜨고, 3초 안에 다시 눌러야 종료되는 방법입니다. 목차 1. 실행 화면 2. 

aries574.tistory.com

2022.09.06 - [안드로이드] - [안드로이드 코틀린] 애니메이션 적용해서 배터리 충전하는 방법

 

[안드로이드 코틀린] 애니메이션 적용해서 배터리 충전하는 방법

이번 시간에는 애니메이션(Animation)과 이미지를 이용해서 배터리 충전하는 모습을 보여주는 방법을 알아보겠습니다. 목차 1. 실행 화면 2. 애니메이션 battery_animation.xml 3. 메인 화면 activity_main.

aries574.tistory.com

2022.09.05 - [안드로이드] - [안드로이드 코틀린] 애니메이션 적용해서 주사위 던지는 방법

 

[안드로이드 코틀린] 애니메이션 적용해서 주사위 던지는 방법

이번 시간에는 애니메이션(Animation)과 랜덤 숫자(Random)를 통해 주사위 던지는 방법을 알아보겠습니다. 목차 1. 실행 화면 2. 메인 화면 activity_main.xml 3. 메인 코드 MainActivity.kt 1. 실행 ..

aries574.tistory.com

 

 

반응형

관련글 더보기

댓글 영역