Android

[Android] Toast Message(토스트 메세지)

JunsuKim 2022. 8. 14.
728x90

Toast란?

스마트폰을 사용하다 보면 종종 하단에 작은 메시지 박스가 뜨는 것을 볼 수 있다.

위처럼 모바일 네트워크에 연결이 될 때, 문자를 보낼 때 혹은 로그인에 실패했을 때 등등 작은 팝업으로 작업에 관한 내용을 제공해준다. 이러한 기능을 Toast(토스트)라고 한다.

Toast Message 띄우기

Toast를 사용할 때는 Toast.makeText().show()의 형식으로 사용한다.

이때 makeText() 메서드에는 3개의 파라미터가 담겨있다.

  • context: 사용할 어플리케이션의 활동 개체를 뜻한다. 보통 applicationContext를 사용한다.
  • text: 사용자에게 표시될 텍스트
  • duration: Toast Message를 길게 또는 짧게 띄우는 것을 결정한다.
    • Toast.LENGTH_SHORT: 짧게 출력
    • Toast.LENGTH_LONG: 길게 출력

show() 메소드는 Toast Message를 화면에 띄워주는 메서드이다.

구현

버튼 2개를 만들어 Toast.LENGTH_SHORT와 Toast.LENGTH_LONG을 직접 확인해봤다.

MainActivity

package com.example.myapplication

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import android.widget.Toast

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

        val toastButton1: Button = findViewById(R.id.toast_button1)
        toastButton1.setOnClickListener {
            showToastMessage1()
        }

        val toastButton2: Button = findViewById(R.id.toast_button2)
        toastButton2.setOnClickListener {
            showToastMessage2()
        }
    }

    private fun showToastMessage1() {
        Toast.makeText(applicationContext, "버튼1 짧게 출력", Toast.LENGTH_SHORT).show()
    }

    private fun showToastMessage2() {
        Toast.makeText(applicationContext, "버튼2 길게 출력", Toast.LENGTH_LONG).show()
    }
}

activity_main.xml

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

    <Button
        android:id="@+id/toast_button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Toast1"
        app:layout_constraintBottom_toTopOf="@+id/toast_button2"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <Button
        android:id="@+id/toast_button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Toast2"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/toast_button1" />
</androidx.constraintlayout.widget.ConstraintLayout>

결과

 

728x90

댓글