2011-01-17 6 views
24

나는 PopupWindow 대 Dialog를 언제 사용해야하는지 잘 모르겠습니다. 어떤 통찰력이라도 대단히 감사 할 것입니다. 감사.안드로이드 PopupWindow 대 대화 상자를 사용하는 경우

+1

당신이 성취하고자하는 것에 대한 약간의 맥락은 당신의 질문에 대답하는 데 도움이 될 것입니다. 지금 당장은 대답하기에 폭넓게 보입니다 (나는 두 가지 방법 모두에 대한 문서를 이미 읽었다 고 가정합니다). –

답변

4

간단한 사용자 상호 작용 (예, 아니오)을 위해 Dialog를 사용해야한다고 생각합니다. 저는 대개 간단한 사용자 상호 작용을 위해 Dialog를 사용하고 좀 더 복잡한보기를 위해 WindowPopup을 사용합니다. WindowPopup의 한 예는 AutoCompleteTextView입니다.

희망이 있습니다.

+0

대화 상자 및 팝업 창에 대한 몇 가지 문제점이 있습니다! 어떤 정보를 사용자에게 공개하려고 할 때 나는 무엇을 선택합니까? –

7

둘 다 다양한 windowManager 메소드와 함께 addView() 메소드를 사용합니다. 그 점에서 두 가지는 비슷합니다.

대화 상자에는 기본 클래스에 이미 포함되어있는 핸들러와 버튼과 같은 상호 작용을위한 내장 기능이 더 많이있는 것처럼 보입니다. 반면 PopupWindows에는 화면에 대한 위치 지정을위한 기본 제공 방법이 있습니다.

나는 각각이 다른 것과 똑같이 할 수 있다고 생각하지만 두 가지를 선택하는 것은 프로그래머가 편리하게 사용할 수있는 방법에 관한 것입니다. 저는 컴퓨터 과학의 박사가 아니지만 각각의 클래스 정의에서 본 것에 기초하여 두 사람 사이의 처리 시간에 중요한 차이가 있다고 생각하지 않습니다.

내 조언 :보기가 디스플레이에 나타나는 위치를보다 잘 제어하려면, PopupWindow를 사용하십시오. 보기간에 더 많은 제어 및 피드백을 추가하려면 대화 상자를 사용하십시오. 나 같은 모든 것을 마스터 컨트롤하고자한다면 PopupWindow를 제안 할 것입니다. 사용자에게 명백한 오버라이드 메소드가 거의 없기 때문입니다.

0

계속 진행하기 전에 조치를 취해야 할 때 Dialog가 사용해야한다고 생각합니다. 화면을 커버하지 않으며 항상 모달 이벤트로 센터 정렬을 조정합니다. 다른면에서, PopupWindow는 위치 설정에 따라 끈끈한 꼬리말, 끈끈한 머리말, 왼쪽, 오른쪽, 중앙 등에 위치와 같은 위치에 정보를 조정할 수있는 유연성을 가지고 있습니다. 정보를 표시하기 위해 애니메이션 기능도 있으므로 좋은 옵션입니다. 간단히 말해, 최소한의 동작으로 정보를 표시하려면 PopupWindow로 이동하고 제어 된 동작은 다음으로 진행합니다. 대화 상자로 이동하십시오.

관련 문제