- 본 포스트는 Kotlin 언어로 Android studio 에서 작업할 수 있는 내용을 담고 있습니다.
- 본 포스트는 Kotlin 언어에 관한 설명은 없습니다. Kotlin에 관한 내용은 저의 다른 포스트를 참고해주시면 감사하겠습니다.
Frame Layout
액자를 뜻하는 Frame 이라는 단어를 사용한 FrameLayout은 여러 View들을 겹쳐서 보여줄 수 있는 Layout이다. FrameLayout은 Fig1에서 볼 수 있듯이 가장 나중에 추가된 View가 다른 View들보다 위쪽에 위치한다. Android Developer에서는 하나의 Child View만을 포함하는 것을 권장하고 있다. 그러나 제공되는 Layout 중에서 View를 겹쳐서 표현할 수 있는 Layout은 RelativeLayout, ConstraintLayout 과 FrameLayout이 있는데, RelativeLayout 과 ConstraintLayout 은 어떤 View를 기준으로 View를 배치하기 때문에 연산량이 더 많아 FrameLayout이 더 나은 선택이 될 수 있다.
사용법
xml에서 Frame Layout사용하기
xml상에서 FrameLayout을 사용하는 방법은 간단하다. 가장 바깥의 레이아웃이 아니라면, FrameLayout은 Fig2처럼 필수 속성인 layout_width와 layout_height 값만 주고, <FrameLayout>과 </FrameLayout>사이에 View들을 배치하면 된다.
kotlin 파일에서 Frame Layout 사용하기
- Layout 추가
주요 속성
layout_gravity
FrameLayout 은 나중에 추가된 뷰가 기존의 뷰 위쪽에 쌓인다. FrameLayout 내부에 들어가는 뷰들의 속성으로 layout_gravity를 사용하면 해당 뷰가 FrameLayout 의 어느 위치에 배치될 것인지 정할 수 있다.
Reference
- [개발자를 위한 레시피] ‘안드로이드 프레임레이아웃. (Android FrameLayout)’ — https://recipes4dev.tistory.com/89