2017-12-05 57 views
0

별도의 클래스를 만들지 않고도 간단한 2 버튼 알림 대화 상자를 만들려고합니다. 대화 상자를 만들기 위해 사용하고있는 AlertDialog.Builder 클래스에는 대화 상자에 단추를 추가 할 때 세 가지 방법이 있습니다.AlertDialog.Builder가 버튼을 제한하는 이유는 무엇입니까/어떻게 작동합니까?

setPositiveButton(...) 
setNegativeButton(...) 
setNeutralButton(...) 

왜이 3 단추 제한을 하드 코드에 적용합니까? 또한 버튼을 왜 긍정, 부정 또는 중립으로 설정해야합니까? 네거티브 버튼 프레스는 포지티브 또는 뉴트럴 버튼 프레스에 비해 어떤 효과가 있습니까?

분명히 중요한 것이 빠졌지 만 버튼 추가를 처리하는 것이 좋지 않은 것처럼 보입니까? 왜냐하면 두 개 (또는 더 많은 버튼)을 실제로 긍정적이거나 부정적인 것으로 간주해서는 안되는 이유는 무엇입니까? 대화 상자에 두 개 이상의 중립 버튼을 추가 할 수 없습니다.

+0

양/음/중립국 – elmorabea

답변

0

양수, 중립 또는 음수는 표준 경고 대화 상자의 옵션입니다. 버튼의 이름을 따라 긍정 또는 부정적인 액션을 처리하면 설계 지침에 따라 레이아웃이 설정되고 새로운 Android 버전으로 변경되면 제안 된 순서대로 항상 옵션이 제공됩니다.

물론 원하는 순서대로 OnClickListener를 설정할 수 있습니다.

그리고 당신은 당신이 이런 식으로 사용자 정의보기를 부풀려 수있는 3 개 이상의 버튼을 필요로하는 경우 : 주로 세 개의 버튼의 제한이있다

LayoutInflater inflater = getActivity().getLayoutInflater(); 
View dialogView = inflater.inflate(R.layout.alert_dialog_custom_layout, null); 
dialogBuilder.setView(dialogView); 
0

때문에 세로 모드에서 휴대 전화의 화면의 제한된 폭. AlertDialog과 같이 모든 버튼이 한 행에 배치되어 있다고 가정 해보십시오. 세 개의 버튼 너머에서 너비가 부족하기 시작하면 텍스트가 잘리고 사용자가 실수로 잘못된 버튼을 누르게됩니다. 3 개 이상의 단추가 필요한 경우 단추가 더 많은 사용자 지정 대화 상자가 필요하거나 사용자의 잠재적 인 화면 크기 제한을 염두에두고 사용자의 입력을 정확히 처리하는 방법을 다시 생각해보십시오.

마찬가지로 긍정적, 중립 및 부정의 3 가지 제한된 옵션에 대한 이유는 운영 체제에서 UX 일관성을 제공하기위한 것입니다. 안드로이드 1.5에서 경고 대화 상자를 고려 : 안드로이드 4.0 및 5.0의와

Android 1.5 dialog

를 : 양극과 음극 버튼의 순서가 역전 된 방법

Android 4.0 dialogs enter image description here

참고. 이는 안드로이드 3.0의 "홀로 (Holo)"UI에서 도입 된 고의적 인 디자인 결정이었습니다. "양수"및 "제외 어"버튼을 지정하면 앱의 코드를 변경하지 않고도 사용자 OS 버전의 UX와 함께이 버튼의 위치를 ​​변경할 수 있습니다.

추가 읽기 : 당신은 당신의 필요에 의해 충족되지 않으면 원하는 레이아웃으로있는 CustomView를 설정할 수 있습니다