BLOG
이 수업에서는 스낵바를 사용하여 팝업 메시지를 표시하는 방법을 설명합니다. 안드로이드에서 팝업 메뉴는 API 수준 11 (안드로이드 3.0) 및 더 높은 버전에서 사용할 수 있습니다. Android 3.0+를 사용하는 경우 팝업 메뉴에서 메뉴의 바로 가기 및 항목 아이콘을 지원하지 않습니다. 팝업이 창 외부의 터치 이벤트에 대한 알림을 받을지 여부를 제어합니다. 이는 만질 수 있지만 초점이 맞지 않는 팝업에 대해서만 의미가 있으며, 이는 창 밖의 터치가 뒤쪽창으로 전달된다는 것을 의미합니다. 기본값은 false입니다. 팝업창은 활동의 상단에 있는 모든 보기를 표시하고 부동하는 데 사용할 수 있는 팝업 컨트롤입니다. PopupWindow를 통해 우리는 정보 표시 또는 UI 상호 작용과 같은 팝업 창 효과의 다양한 얻을 수 있습니다. 공간이 앵커 텍스트 위에 있는 경우 Android 팝업 메뉴에 앵커 텍스트 아래에 메뉴가 표시됩니다. 팝업 메뉴 외부를 클릭하면 사라집니다. 모든 버전의 Android에서 팝업 창 입력 및 종료 애니메이션은 setAnimationStyle(int)을 호출하고 창EnterAnimation 및 windowExitAnimation을 정의하는 애니메이션 스타일에 대한 리소스 ID를 전달하여 지정할 수 있습니다.
예를 들어 R.style.Animation_Dialog를 전달하면 축척 및 알파 애니메이션이 표시됩니다. 팝업 AnimationStyle 특성을 통해 팝업 창의 스타일 XML에 창 애니메이션 스타일을 지정할 수도 있습니다. 안드로이드는이 일반적인 사용 사례에 대한 스낵 바 위젯을 제공합니다. 스낵바는 사용자에게 빠른 팝업 메시지를 제공합니다. 스낵바가 표시되는 동안 현재 활동은 표시되고 대화형으로 유지됩니다. 잠시 후 스낵바는 자동으로 자신을 해제합니다. 팝업 창의 포커스가능성을 변경합니다. 포커스가 있는 경우 팝업에 포커스가 있는 보기가 포함된 경우 창에서 현재 포커스가 있는 위젯에서 포커스를 잡습니다. 기본적으로 팝업 창은 포커스가 없습니다. Base.V21.Theme.AppCompat.Light.Dialog는 안드로이드 푸업 테마를 제공합니다. .
setInputMethodMode(int)에 대한 모드: 이 팝업은 포커스가 있는지 여부에 관계없이 항상 입력 메서드와 함께 작동해야 합니다. 스낵바를 만든 후 show() 메서드를 호출하여 사용자에게 스낵바를 표시합니다: 앵커 보기의 왼쪽 아래 모서리에 고정된 팝업 창에 콘텐츠 보기를 표시합니다. 화면에 팝업전체를 표시할 공간이 충분하지 않은 경우 이 메서드는 스크롤할 상위 스크롤 보기를 찾으려고 시도합니다. 상위 스크롤 뷰를 스크롤할 수 없는 경우 팝업의 왼쪽 아래 모서리가 앵커 뷰의 왼쪽 상단 모서리에 고정됩니다. . 그림 1. 코디네이터레이아웃은 스낵바가 나타나면 부동 동작버튼을 위로 이동합니다. setInputMethodMode(int)에 대한 모드: 이 팝업은 포커스가 있는지 여부에 관계없이 항상 입력 메서드와 함께 작동해야 합니다. 즉, 사용자가 표시되는 동안 입력 메서드를 작동할 수 있도록 항상 표시됩니다.