팝업 메시지 빌드 및 표시

Compose 방식 사용해 보기
Jetpack Compose는 Android에 권장되는 UI 도구 키트입니다. Compose에서 알림을 추가하는 방법 알아보기
<ph type="x-smartling-placeholder"></ph> 스낵바 → 를 통해 개인정보처리방침을 정의할 수 있습니다.

사용자는 Snackbar부터 간단한 메시지를 표시합니다 좋아요 취소 알림: 메시지는 잠시 후에 자동으로 사라집니다. Snackbar는 사용자가 조치를 취할 필요가 없는 간략한 메시지에 적합합니다. 예를 들어 이메일 앱은 Snackbar를 사용하여 사용자에게 앱이 님이 이메일을 보냈습니다.

CoordinatorLayout 사용

Snackbar는 뷰에 연결되어 있습니다. Snackbar 기본 기능이 제공되며 View 클래스. 예: 일반적인 레이아웃 객체입니다. 하지만 Snackbar가 다음과 같은 경우 연결된 CoordinatorLayout, Snackbar에는 다음과 같은 추가 기능이 있습니다.

  • 사용자는 Snackbar를 스와이프하여 닫을 수 있습니다.
  • Snackbar가 표시되면 레이아웃에서 다른 UI 요소를 이동합니다. 예를 들어 레이아웃에 FloatingActionButton, Snackbar가 표시되면 레이아웃에서 버튼을 위로 이동합니다. 버튼 위에 Snackbar를 그리는 것입니다. Kubernetes에서 그림 1과 같습니다.

CoordinatorLayout 클래스는 기능 FrameLayout입니다. 앱에서 이미 FrameLayout를 사용한다면 이 레이아웃을 바꿀 수 있습니다. CoordinatorLayout로 전체 Snackbar 사용 설정 기능을 제공합니다 앱에서 다른 레이아웃 객체를 사용하는 경우 기존 레이아웃 래핑 요소를 CoordinatorLayout에 포함해야 합니다. 예:

<android.support.design.widget.CoordinatorLayout
    android:id="@+id/myCoordinatorLayout"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <!-- Here are the existing layout elements, now wrapped in
         a CoordinatorLayout. -->
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <!-- ...Toolbar, other layouts, other elements... -->

    </LinearLayout>

</android.support.design.widget.CoordinatorLayout>

CoordinatorLayoutandroid:id 태그를 설정합니다. 메시지를 표시할 때 레이아웃의 ID가 필요합니다.

그림 1. CoordinatorLayoutSnackbar가 표시되면 FloatingActionButton 위로 올라갑니다.

메시지 표시

메시지를 표시하는 단계는 두 가지가 있습니다. 먼저, 컨테이너 이미지를 Snackbar 객체를 메시지 텍스트로 대체합니다. 그런 다음 객체의 show() 메서드를 사용하여 사용자에게 메시지를 표시할 수 있습니다.

스낵바 객체 만들기

static을 호출하여 Snackbar 객체를 만듭니다. Snackbar.make() 메서드를 사용하여 축소하도록 요청합니다. Snackbar를 만들 때 메시지를 지정합니다. 메시지를 표시할 시간:

Kotlin

val mySnackbar = Snackbar.make(view, stringId, duration)

자바

Snackbar mySnackbar = Snackbar.make(view, stringId, duration);
보기
Snackbar를 연결할 뷰입니다. 이 메서드는 뷰 계층 구조를 전달하여 CoordinatorLayout 또는 창 장식의 콘텐츠 뷰입니다. 일반적으로 CoordinatorLayout를 전달하는 것이 더 간단합니다. 넣는 것이 좋습니다.
stringId
표시하려는 메시지의 리소스 ID입니다. 형식을 지정하거나 형식이 지정되지 않은 텍스트입니다.
시간
메시지를 표시할 기간입니다. 이는 LENGTH_SHORT 또는 LENGTH_LONG입니다.

사용자에게 메시지 표시

Snackbar를 만든 후 show()를 호출합니다. 메서드를 사용하여 Snackbar를 사용자에게 표시합니다.

Kotlin

mySnackbar.show()

자바

mySnackbar.show();

시스템에서 여러 Snackbar 객체를 동시에 표시하지 않음 따라서 뷰에 현재 다른 Snackbar가 표시되고 있다면 시스템은 Snackbar를 대기열에 추가하여 현재 Snackbar가 만료되거나 닫힙니다.

사용자에게 메시지를 표시하고 싶지만 Snackbar 객체의 유틸리티 메서드를 사용하기 때문에 show()를 호출한 후 Snackbar 참조입니다. 대상 따라서 메서드 체이닝을 사용하여 한 구문으로 된 Snackbar:

Kotlin

Snackbar.make(
        findViewById(R.id.myCoordinatorLayout),
        R.string.email_sent,
        Snackbar.LENGTH_SHORT
).show()

Java

Snackbar.make(findViewById(R.id.myCoordinatorLayout), R.string.email_sent,
                        Snackbar.LENGTH_SHORT)
        .show();