안드로이드 viewgroup 예제

Android는 뷰에 대한 레이아웃에서 뷰의 ID를 기반으로 검색하고 뷰가 상태를 복원하는 데 사용할 수 있는 뷰에 번들을 전달합니다. 나는 매체를 말하고 싶습니다 : 내 개인적인 경험에서 아래와 같은 예제가 있다면 ViewGroup이 너무 복잡하지 않고 값과 방법을 가지고 놀고 싶다고 말할 수 있습니다. ViewGroup 클래스를 확장하여 사용자 지정 레이아웃 관리자를 구현할 수 있습니다. 이를 통해 보다 효율적인 레이아웃 관리자를 구현하거나 현재 Android 플랫폼에서 누락된 효과를 구현할 수 있습니다. 또는 Android 이름 공간과 유사한 레이아웃 파일에서 이름 공간을 선언할 수도 있습니다. 다음 예제에서는 구성 요소가 이러한 특성에 액세스하는 방법을 보여 주며 있습니다. ViewGroup 구현의 내부 클래스에 추가 레이아웃 매개 변수를 저장하는 것이 좋습니다. 예를 들어 ViewGroup.LayoutParams ` 명령 레이아웃 매개 변수를 구현 하 고 `LinearLayout.Layout.LayoutParams linearLayout에 특정 추가 매개 변수를 구현 합니다., 예를 들어 layout_weight 매개 변수. ViewGroup 하위 클래스에서 호출하여 자식 뷰를 자체에서 제거한 다음 렌더링할 자식 뷰 수를 계산하기 전에 먼저 화면의 크기를 알아야 합니다. 예를 들어 50명의 자식을 “가질” 수 있는 갤러리 또는 ListView를 예로 들 수 있지만 실제로는 현재 화면의 오브젝트 내부에 들어갈 수 있는 자식 수만 렌더링합니다. ViewGroup을 확장하고 뷰 측정 및 레이아웃 파이프라인을 이해하지 않는 한 이 메서드를 호출하지 마십시오. 안드로이드 플랫폼에서 제공하는 다른 그늘은 선형 그라데이션, 방사형 및 색상 그라데이션 그리기에 대한 SweepGradient입니다. 활동이 포커스를 받으면 레이아웃 계층 구조의 루트 노드를 Android 시스템에 제공해야 합니다.

그 후 Android 시스템이 그리기 절차를 시작합니다. 복합 뷰 또는 사용자 지정 뷰에 대한 추가 특성을 정의할 수 있습니다. 추가 특성을 정의하려면 res/values 폴더에 attrs.xml 파일을 만듭니다. 다음은 ColorOptionsView라는 새 보기에 대해 정의된 특성의 예를 보여 주며, 임의의 예 (github에서 내 별이 libs 중 하나에서 얻은) 미렉 스타넥에서이 트위터 와 같은 버튼 lib 수 있습니다., 특히이 클래스에서. 당신이 코드에 이상한 아무것도 볼 수 있듯이, 그냥 수학 : 그는 화면에 다른 색상의 원을 그리고 ObjectAnimator점의 반경과 크기를 변경 속성을 노출외부에서 애니메이션을 가능하게, 오른쪽 멋진? 다음 URL에서 사용자 지정 보기(터치 지원 포함)에 대한 예를 찾을 수 https://www.vogella.com/tutorials/AndroidTouch/article.html#singletouch Android의 더 깊은 계층에 대한 자세한 소개는 http://source.android.com/devices/graphics/architecture.html 참조합니다. Android의 뷰 그룹은 다른 보기를 포함할 수 있는 특수 보기입니다. 뷰그룹에는 하나 또는 여러 자식이 포함될 수 있습니다. LinearLayout, 프레임 레이아웃, 상대 레이아웃과 같은 다른 모든 표준 레이아웃 관리자는 특정 형식으로 자식을 레이아웃하는 ViewGroup 클래스의 특수 하위 클래스입니다.

예를 들어 LinearLayout 레이아웃은 자식을 수직 또는 수평으로 다른 쪽에 인접한 레이아웃입니다. 레이아웃 중에 뷰를 추가합니다. 이 기능은 onLayout() 메서드에서 목록 보기와 마찬가지로 더 많은 뷰를 추가해야 하는 경우에 유용합니다. 인덱스가 음수이면 목록의 끝에 배치됩니다. 다음 데이터로 새 Android 프로젝트를 만듭니다.