Android 활동과 관련하여 질문이 있습니다. 활동에는 방법 addContentView(View)
이 있고 ViewGroup에는 (비슷합니까?) addView(View)
방법이 있습니다. 불행히도 그것의 문서화되지 않은 "어디서"에서보기 addContentView
에서 배치됩니다. 보기를 하단에 추가하는 것이 LinearLayout
입니까? 보기 "onTop"을 추가하는 FrameLayout
과 더 비슷합니까? setContentView
에 의해 설정된 ViewGroup
에 따라 달라 집니까? 소스로 들어가면 addContentView
은 의 추상적 인 메서드 addContentView
으로 전화 할 것입니다. 불행히도이 클래스를 구현하는 클래스를 볼 수 없습니다. 그렇다면 활동 addContentView
의 행동은 정확히 무엇입니까?Activity.addContentView (보기) == ViewGroup.addContentView (보기)?
11
A
답변
37
모든 활동의 기본 레이아웃은 FrameLayout
입니다. 이것은 일반적으로 setContentView()
을 통해 설정 한 레이아웃이이 레이아웃의 하위임을 의미합니다. addContentView()
은 다른 자식을 추가하므로 FrameLayout
(기존 UI 위에 새 UI 요소가 추가됨을 의미)처럼 동작합니다.
ANDROID_SDK\tools
폴더의 hierachyviewer
이라는 도구를 사용하여 확인할 수 있습니다.
이 레이아웃 내 활동은 버튼 (여기 내 레이아웃)와 함께있는 LinearLayout을 잡고, 기본 FrameLayout이 구성되어, addContentView()
를 호출하기 전에 수 있습니다 : 여기에 두 개의 스크린 샷입니다. 이것은 맨 아래 줄에 반영되어 있으며 위의 다른 요소는 제목/상태 표시 줄입니다.
addContentView()
통해 텍스트 뷰를 추가 한 후에는 다음과 같다. 기본 FrameLayout에 새로운 자식이 있음을 알 수 있습니다.
관련 문제
- 1. 보기,보기
- 2. 보기
- 3. 보기
- 4. 보기
- 5. 보기
- 6. 보기
- 7. 보기
- 8. 보기
- 9. 보기
- 10. 보기
- 11. 보기 /보기 컨트롤러 재사용 하시겠습니까?
- 12. ASP.NET MVC -보기 폴더 외부의 "보기 추가"
- 13. 보기 전환
- 14. 보기 페이지
- 15. 보기 사용자로드시
- 16. 보기 변경
- 17. 보기 컨트롤러
- 18. 보기 사이트
- 19. 보기 다시로드
- 20. 보기 객체
- 21. 보기 - iOS5를
- 22. 보기 파일
- 23. 보기 모델
- 24. 보기 사용이
- 25. 보기 디코드
- 26. 보기 내부보기
- 27. 오류가 -보기
- 28. 보기 (ListView)
- 29. 보기 내용
- 30. 보기 애니메이션
와우. 정말 고마워, 고마워. 팁과 제안한 도구로 많은 시간을 절약 할 수 있습니다! 당신은 Stackoverflow를 그렇게 대단하게 만드는 종류의 사용자입니다! –
위대한 답변! 지원! –
+1에 대한 'hierachyviewer' – RootCode