2017-12-21 45 views
0

Android 위젯 클래스 이름이 "보기", "레이아웃"또는 둘 다로 끝나야하는 패턴 또는 명명 규칙이 있습니까?언제 위젯 클래스 이름이 "보기"대 "레이아웃"으로 끝나는가?

+1

공식적인 명명 시스템이 없습니다. 대충 말하자면,'ViewGroup'이 레이아웃 매니저이고, LinearLayout','ConstraintLayout', 그리고 kin과 같은 종류의 일을하고, 클래스 이름을'Layout'으로 끝내는 것이 합리적입니다. 그 이상으로, 당신에게 맞는 것을 사용하십시오. – CommonsWare

답변

2

클래스가 View를 확장하거나 계층 구조에서 View를 확장하는 경우 "TextView"또는 "ImageView"와 같이 "View"로 끝나야합니다.
이러한보기에는 다른보기가 포함될 수 없습니다.

클래스가 ViewGroup을 확장하거나 (계층 구조에서 ViewGroup을 확장하는 경우) "Layout"으로 끝나야합니다 (예 : "RelativeLayout", "FrameLayout").
이러한보기에는 다른보기가 포함될 수 있습니다.

+0

'View' 또는'Layout'에서 끝나지 않는 클래스는 설명하지 않습니다. 첫 번째 규칙은'ListView','GridView','RecyclerView'에 대해서도 자식을 가지고 있지만'View'로 끝나기 때문에 실패합니다. – CommonsWare

+0

계층 구조에서'View'를 사용하면 Android API에서 일관된 이름 지정을 할 수 있는지 확신하지 못합니다.'AutoCompleteTextView'는'EditText'를 확장하므로 상위 클래스 이름 (EditText)에서'View' 단어가 생략되고 다시 -added ('AutoCompleteEditText'와 반대). 'ScrollView'는'ViewGroup'인데도'FrameLayout'을 확장합니다 (대신'ScrollableLayout' 또는 그와 비슷한 것). – aoeu

1

모든 안드로이드 UI 구성 요소는 보기 하위 클래스입니다. 보기 cildrens 중

당신은 ViewGroups위젯을 가질 수 있습니다.

ViewGroups : 복잡한 UI를 만들기 위해 다른보기 또는보기 그룹을 포함 할 수 있습니다. ViewGroups의 몇 가지 예는 FrameLayout, LinearLayout, RelativeLayout, ConstraintLayout 등입니다.

위젯 : 특정 용도의 Ui 구성 요소이며 내부에 다른 위젯 또는보기 그룹을 포함하지 않습니다. 위젯의 예는 TextViews, Buttons 등입니다.

위의 두 가지 범주 중 하나에 해당하는지, 또는 해당 항목이 에 속하는지 확인하는 것이 좋습니다.레이아웃 (예를 MyXYZLayout) 단어 다음에 클래스 이름을 사용하고 있는지 위젯은 그것에게 보기 (예를 다음에 이름 부여 :. MyXYZView 단어를

내가 당신을 권합니다 일부 오픈 소스 프로젝트를 살펴보고 다시 사용자 지정보기의 이름을 지정하여 감각을 발휘하고이를 수행하는 방법에 대한 몇 가지 발견 방법을 개발할 수 있습니다.

궁극적으로 올바른 방식으로이 작업을 수행하는 방법을 규칙으로 정의하는 것이 팀에게 달려 있습니다.