[Android Java] 안드로이드 토스트 메시지 띄우기 (하단 알림 메시지)

 


미리보기

image


Toast 메시지 띄우기

1. Toast 클래스

Toast는 사용자를 위한 간단한 메시지가 포함된 메시지입니다. Toast 메시지가 표시되면 Focus를 받지 않고 애플리케이션 위에 잠시동안 떠오릅니다.
Toast 메시지를 사용하는 가장 간단한 방법은 Toast 클래스의 정적 메소드 중 하나를 호출하는 것입니다.

- Public Methods

반환값 프로토타입
static Toast makeText(Context context, int resId, int duration)
static Toast makeText(Context context, CharSequence text, int duration)
makeText(getApplicationContext(), R.string.toast_message,Toast.LENGTH_SHORT);
makeText(getApplicationContext(), "짧은 토스트 메시지입니다.",Toast.LENGTH_SHORT);

- 상수

타입 설명
int LENGTH_SHORT 짧은 시간 동안 토스트 메시지를 표시합니다 (약 3초)
int LENGTH_LONG 긴 시간 동안 토스트 메시지를 표시합니다 (약 5초)


2. 예시 코드

  • activity_main.xml
<?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_horizontal"
    tools:context=".MainActivity">

    <Button
        android:id="@+id/short_toast_btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="짧은 토스트 메시지"/>

    <Button
        android:id="@+id/long_toast_btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="40dp"
        android:text="긴 토스트 메시지"/>

</LinearLayout>


  • MainActivity.java
public class MainActivity extends AppCompatActivity {

    private Button shortToastButton;
    private Button longToastButton;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        shortToastButton = findViewById(R.id.short_toast_btn);
        longToastButton = findViewById(R.id.long_toast_btn);

        shortToastButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Toast toast = Toast.makeText(getApplicationContext(), "짧은 토스트 메시지입니다.",Toast.LENGTH_SHORT);
                toast.show();
            }
        });

        longToastButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Toast.makeText(getApplicationContext(), "긴 토스트 메시지입니다.",Toast.LENGTH_LONG).show();
            }
        });
    }
}

Activity에 Button 두 개를 만들어 Button 클릭 시 Toast 메시지가 나타나도록 구현하였습니다.
첫번째 방법Toast 클래스의 인스턴스를 만들어 메시지를 띄우는 방법이고,

Toast toast = Toast.makeText(getApplicationContext(), "짧은 토스트 메시지입니다.",Toast.LENGTH_SHORT);
toast.show();

두번째 방법 은 makeText의 반환값이 Toast라는 점을 이용하여 인스턴스를 만들지 않고 메시지를 띄우는 방법입니다.

Toast.makeText(getApplicationContext(), "긴 토스트 메시지입니다.",Toast.LENGTH_LONG).show();


3. 결과

짧은 토스트 메시지 긴 토스트 메시지

Toast 메시지의 duration을 짧게(LENGTH_SHORT) 설정하면 약 3초 동안 메시지가 떠오르며, 길게(LENGTH_LONG) 설정하면 약 5초 동안 메시지가 떠오릅니다.



:bookmark: REFERENCE
Toast | Android Developers