[Android] Layout4 — Frame Layout

dEpayse
3 min readOct 8, 2022

--

  • 본 포스트는 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이 더 나은 선택이 될 수 있다.

Fig1. Frame Layout Animation

사용법

xml에서 Frame Layout사용하기

Fig2. xml에서 FrameLayout사용

xml상에서 FrameLayout을 사용하는 방법은 간단하다. 가장 바깥의 레이아웃이 아니라면, FrameLayout은 Fig2처럼 필수 속성인 layout_width와 layout_height 값만 주고, <FrameLayout>과 </FrameLayout>사이에 View들을 배치하면 된다.

kotlin 파일에서 Frame Layout 사용하기

  • Layout 추가
Fig3–1. Kotlin 파일에서 FrameLayout 추가

주요 속성

layout_gravity

FrameLayout 은 나중에 추가된 뷰가 기존의 뷰 위쪽에 쌓인다. FrameLayout 내부에 들어가는 뷰들의 속성으로 layout_gravity를 사용하면 해당 뷰가 FrameLayout 의 어느 위치에 배치될 것인지 정할 수 있다.

Reference

  1. [개발자를 위한 레시피] ‘안드로이드 프레임레이아웃. (Android FrameLayout)’ — https://recipes4dev.tistory.com/89

--

--

dEpayse
dEpayse

Written by dEpayse

나뿐만 아니라 다른 사람들도 이해할 수 있도록 작성하는, 친절한 블로그를 목표로.

No responses yet