Google은 흑인 공동체를 위한 인종 간 평등을 진전시키기 위해 노력하고 있습니다. Google에서 어떤 노력을 하고 있는지 확인하세요.

메시지에 작업 추가

사용자가 메시지에 응답할 수 있도록 Snackbar에 작업을 추가할 수 있습니다. Snackbar에 작업을 추가하면 Snackbar에서 메시지 텍스트 옆에 버튼을 배치합니다. 사용자는 버튼을 눌러 작업을 트리거할 수 있습니다. 예를 들어 이메일 앱에서 '보관 처리된 이메일' 메시지에 실행취소 버튼을 배치할 수 있습니다. 사용자가 실행취소 버튼을 클릭하면 이메일 앱은 보관 처리된 이메일을 다시 가져옵니다.

그림 1. 이 스낵바에는 실행취소 버튼이 있습니다. 이 버튼을 누르면 방금 삭제한 항목을 복원합니다.

Snackbar 메시지에 작업을 추가하려면 View.OnClickListener 인터페이스를 구현하는 리스너 객체를 정의해야 합니다. 사용자가 메시지 작업을 클릭하면 시스템은 리스너의 onClick() 메서드를 호출합니다. 예를 들어 다음 스니펫에서는 실행취소 작업의 리스너를 보여줍니다.

Kotlin

    class MyUndoListener : View.OnClickListener {

      fun onClick(v: View) {
        // Code to undo the user's last action
      }
    }
    

자바

    public class MyUndoListener implements View.OnClickListener {

        @Override
        public void onClick(View v) {

            // Code to undo the user's last action
        }
    }
    

SetAction() 메서드 중 하나를 사용하여 Snackbar에 리스너를 연결합니다. 다음 코드 샘플과 같이 show()를 호출하기 전에 리스너를 연결해야 합니다.

Kotlin

    val mySnackbar = Snackbar.make(findViewById(R.id.myCoordinatorLayout),
                                   R.string.email_archived, Snackbar.LENGTH_SHORT)
    mySnackbar.setAction(R.string.undo_string, MyUndoListener())
    mySnackbar.show()
    

자바

    Snackbar mySnackbar = Snackbar.make(findViewById(R.id.myCoordinatorLayout),
            R.string.email_archived, Snackbar.LENGTH_SHORT);
    mySnackbar.setAction(R.string.undo_string, new MyUndoListener());
    mySnackbar.show();
    

참고: Snackbar는 잠시 후에 자동으로 사라지므로, 사용자가 확실히 메시지를 보거나 버튼을 누를 기회가 있는지 보장할 수 없습니다. 따라서 Snackbar 작업을 실행하는 다른 방법의 제공을 고려해야 합니다.