코디네이터레이아웃에 대한 android:ID 태그를 설정해야 합니다. 메시지를 표시할 때 레이아웃ID가 필요합니다. 발생: 자바.lang.ClassCastException: android.support.v7.widget.Toolbar android.support.design.widget.FloatingActionButton이 예제에서 캐스팅 할 수 없습니다,이 예에서, 우리는 3 개의 버튼이있는 활동을 만드는 과정을 거쳤습니다. 3 개의 버튼은 모두 해당 SnackBar를 표시하기 위해 클릭 할 때이 버튼을 가능하게하는 이벤트 리스너로 가득 차있었습니다. 하나는 짧은 지속 시간 세트를 가지고 있었고, 다른 하나는 더 긴 지속 시간을 구성했고, 마지막 에는 긴 지속 시간 세트와 액션이 있었기 때문에 SnackBar가 표시되는 동안 추가 기능을 수행할 수 있었습니다. 기본 안드로이드 스낵바를 표시하는 코드 조각은 다음과 같습니다. 내 기본 설정 활동에 스낵 바를 사용 하려고 (그 사용자가 마일 또는 킬로미터를 선택할 수 있습니다.), 다음 스낵 바에서 작업으로 취소. 하지만 내 기본 설정 활동에 코디네이터 레이아웃을 넣을 수 없습니다., 내가 할 수 있습니까? 스낵바가 표시되거나 해제되었을 때 알림을 받으면 추가콜백(BaseCallback)을 통해 스낵바를 제공할 수 있습니다. 안드로이드 스낵 바는 기본적으로 안드로이드 토스트와 동일하지만 몇 가지 추가 기능이 있습니다.

이것은 화면 하단과 화면의 다른 모든 요소 위에 나타납니다. 말했듯이, 안 드 로이드 스낵 바 사용자 피드백에 대 한 옵션이 안 드 로이드 토스트 처럼. 일반적으로 이 위젯은 사용자가 작업을 취소하는 것과 같은 마지막 작업을 되돌릴 수 있는 옵션이 필요할 때 사용됩니다. 그리고,이 안드로이드 스낵 바 예제에서, 우리는 마지막으로 수행 취소 할 수있는 옵션모두 안드로이드 응용 프로그램에서 스낵 바를 구현하는 방법을 보여 안드로이드 응용 프로그램을 구축 할 수 있습니다. 이 문서에서는 다양한 시나리오를 다루는 몇 가지 예제가 있는 스낵바에 대해 설명합니다. 코디네이터레이아웃 클래스는 프레임 레이아웃의 기능의 수퍼세트를 제공합니다. 앱에서 이미 FrameLayout을 사용하는 경우 해당 레이아웃을 코디네이터레이아웃으로 대체하여 전체 스낵바 기능을 활성화할 수 있습니다. 앱이 다른 레이아웃 개체를 사용하는 경우 가장 간단한 방법은 이 예에서와 같이 코디네이터 레이아웃에서 기존 레이아웃 요소를 래핑하는 것입니다. 위의 레이아웃에 부동 동작 버튼뿐만 아니라 화면 하단에서 스낵 바가 나타나면 모바일 장치의 경우 부동 동작 버튼이 자동으로 위로 이동한다는 것을 보여 줄 부동 액션 버튼을 포함시켰습니다. 이 동작은 앱을 멋지게 만들 뿐만 아니라 사용자 환경을 향상시킵니다. 코디네이터레이아웃의 주요 기능은 컨테이너 역할을 하고 자식 보기 간의 특정 상호 작용을 수행하는 것입니다. 안드로이드 스낵 바가 나타날 때 부동 액션 버튼의 위로 이동처럼.

메시지 텍스트 색상 변경 – textView.setTextColor(색상.노란색); 동작 버튼 텍스트 색상 변경 – 스낵바.setActionTextColor(Color.RED); 스낵바는 부동 액션 버튼과 겹칩니다. 이 경우 FAB가 스낵바에 공간을 제공하기 위해 조금 위로 이동하도록 코디네이터레이아웃을 사용할 수 있습니다. 아래 예제를 확인하십시오. 그리고 기간은 LENGTH_SHORT, LENGTH_LONG 또는 length_indefinite이어야 합니다. LENGTH_INDEFINITE를 사용하면 스낵 바가 무기한 으로 표시되고 스와이프 해제하여 해제할 수 있습니다. 좋은 튜토리얼,하지만 난 당신이 행동 버튼의 텍스트 색상을 변경할 때 사용하려는 자원 ID가 대신 «snackbar_text»의 «snackbar_action»이라고 생각 … 스낵바 스낵바 = 스낵바.make(R.id.parent_view, msg, 스낵바.LENGTH_LONG); 전체적으로 아래 이미지와 같은 Android 스낵 바가 생성됩니다: 코디네이터레이아웃 =(코디네이터레이아웃) findViewById(R.id.coordinatorLayout); 스낵 바 = 스낵 바 .make (코디네이터레이아웃, » + 메시지 + » » «, 스낵바.LENGTH_INDEFINITE) 아래는 우리의 응용 프로그램의 매니페스트 파일입니다.