Android 위젯 클래스 이름이 "보기", "레이아웃"또는 둘 다로 끝나야하는 패턴 또는 명명 규칙이 있습니까?언제 위젯 클래스 이름이 "보기"대 "레이아웃"으로 끝나는가?
답변
클래스가 View를 확장하거나 계층 구조에서 View를 확장하는 경우 "TextView"또는 "ImageView"와 같이 "View"로 끝나야합니다.
이러한보기에는 다른보기가 포함될 수 없습니다.
클래스가 ViewGroup을 확장하거나 (계층 구조에서 ViewGroup을 확장하는 경우) "Layout"으로 끝나야합니다 (예 : "RelativeLayout", "FrameLayout").
이러한보기에는 다른보기가 포함될 수 있습니다.
'View' 또는'Layout'에서 끝나지 않는 클래스는 설명하지 않습니다. 첫 번째 규칙은'ListView','GridView','RecyclerView'에 대해서도 자식을 가지고 있지만'View'로 끝나기 때문에 실패합니다. – CommonsWare
계층 구조에서'View'를 사용하면 Android API에서 일관된 이름 지정을 할 수 있는지 확신하지 못합니다.'AutoCompleteTextView'는'EditText'를 확장하므로 상위 클래스 이름 (EditText)에서'View' 단어가 생략되고 다시 -added ('AutoCompleteEditText'와 반대). 'ScrollView'는'ViewGroup'인데도'FrameLayout'을 확장합니다 (대신'ScrollableLayout' 또는 그와 비슷한 것). – aoeu
모든 안드로이드 UI 구성 요소는 보기 하위 클래스입니다. 보기 cildrens 중
당신은 ViewGroups 및 위젯을 가질 수 있습니다.
ViewGroups : 복잡한 UI를 만들기 위해 다른보기 또는보기 그룹을 포함 할 수 있습니다. ViewGroups의 몇 가지 예는 FrameLayout, LinearLayout, RelativeLayout, ConstraintLayout 등입니다.
위젯 : 특정 용도의 Ui 구성 요소이며 내부에 다른 위젯 또는보기 그룹을 포함하지 않습니다. 위젯의 예는 TextViews, Buttons 등입니다.
위의 두 가지 범주 중 하나에 해당하는지, 또는 해당 항목이 에 속하는지 확인하는 것이 좋습니다.는 레이아웃 (예를 MyXYZLayout) 단어 다음에 클래스 이름을 사용하고 있는지 위젯은 그것에게 보기 (예를 다음에 이름 부여 :. MyXYZView 단어를
이내가 당신을 권합니다 일부 오픈 소스 프로젝트를 살펴보고 다시 사용자 지정보기의 이름을 지정하여 감각을 발휘하고이를 수행하는 방법에 대한 몇 가지 발견 방법을 개발할 수 있습니다.
궁극적으로 올바른 방식으로이 작업을 수행하는 방법을 규칙으로 정의하는 것이 팀에게 달려 있습니다.
공식적인 명명 시스템이 없습니다. 대충 말하자면,'ViewGroup'이 레이아웃 매니저이고, LinearLayout','ConstraintLayout', 그리고 kin과 같은 종류의 일을하고, 클래스 이름을'Layout'으로 끝내는 것이 합리적입니다. 그 이상으로, 당신에게 맞는 것을 사용하십시오. – CommonsWare