Develop/Kotlin

[kotlin] 코틀린 Toast 메시지 띄우는 방법

JunJangE 2020. 8. 25. 14:51

코틀린에서 토스트 메시지를 띄우는 방법에 대해 알아보도록 하겠습니다.

토스트 메시지는 사용자에게 간단한 메시지를 알려줄 때 사용되는 코드입니다.

기본적으로 화면의 토스트 메시지를 띄우는 코드에 대해서 알아보도록 하겠습니다.

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

       Toast.makeText(this@MainActivity,"프로그래밍을 시작합니다.",Toast.LENGTH_SHORT).show()

    }
}

또 다른 코드로는

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

        Toast.makeText(applicationContext,"프로그래밍을 시작합니다.",Toast.LENGTH_SHORT ).show ()

    }
}

이때, 코드 뒷부분인 Toast.LENGTH_SHORT 이 의미하는 것은

토스트 메시지의 구현 시간을 짧게 한다는 것입니다. 

만약, 토스트 메시지 구현 시간을 길게 하려면

코드 뒷부분을 Toast.LENGTH_SHORT이 아닌 Toast.LENGTH_LONG으로 바꿔주면 됩니다.

 

<결과 화면>

결과 화면을 보시면 하단에 "프로그래밍을 시작합니다."라는 토스트 메시지가 나오는 것을 볼 수 있습니다.


다음으로는 버튼을 클릭했을 때 토스트 메시지를 띄우는 코드에 대해 알아보도록 하겠습니다.

우선 레이아웃에서 버튼을 하나 만들어야 하는데, 버튼을 만들 때는 버튼의 id를 지정해줘야 합니다.

버튼의 id는 자신이 알기 쉽게 지정해야 코딩을 할 때 어려움이 없습니다.

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

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="116dp"
        android:text="Button"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

이렇게 버튼을 만들고 버튼의 id를 지정했다면 MainActivity로 넘어가면 됩니다.

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


        button.setOnClickListener {  
            
            Toast.makeText(applicationContext,"프로그래밍을 시작합니다.",Toast.LENGTH_LONG ).show ()
            
        }
        
    }
}

코드에서 button은 레이아웃에서 지정한 버튼의 id이고

setOnClickListener { }는 이벤트 리스너로 

버튼의 클릭 이벤트 리스너를 등록한 것입니다.

따라서 버튼을 눌렀을 때 토스트 메시지를 띄우게 하는 것입니다.

 

<결과 화면>

결과 화면을 보시면 버튼을 눌렀을 때 하단에 "프로그래밍을 시작합니다."라는

토스트 메시지가 나오는 것을 볼 수 있습니다.