FrameLayout
FrameLayout 은 하단과 같이 부모뷰 영역내 gravity 를 이용하여 view 를 배치한다.
또한, view 를 겹쳐서 배치할 수 있는 view group 이다.
How to
◼ FrameLayout in XML
FrameLayout.LayoutParams
View group 이 view 를 배치할 때 따르는 규칙이다.
◼ ViewGroup.LayoutParams
View 의 크기을 설정한다.
- layout_width : view 너비
- layout_height : view 높이
◼ ViewGroup.MarginLayoutParams
View 주변의 여백을 설정한다.
XML 속성 | 의미 | 상세 그림 |
layout_margin | 해당 view 의 상, 하, 좌, 우 여백 설정 | |
layout_marginLeft | 해당 view 의 좌측 여백 설정 | |
layout_marginTop | 해당 view 의 상단 여백 설정 | |
layout_marginRight | 해당 view 의 우측 여백 설정 | |
layout_marginBottom | 해당 view 의 하단 여백 설정 |
◼ FrameLayout.LayoutParams
View 의 정렬을 설정한다.
- layout_gravity : Gravity 를 이용하여 view 를 배치한다.
Attributes
◼ id
id 는 해당 FrameLayout 을 유일하게 식별할 수 있는 속성이다.
◼ foreground
FrameLayout 의 전체 색 or 전체 이미지를 설정할 수 있는 속성이다.
하단은 TextView 에 text 가 설정되어 있지만 foreground 로 전체 색이 설정되어 보이지 않는 예제이다.
◼ foregroundGravity
foreground 설정 시 이미지의 정렬 방식을 설정한다.
foregorundGravity = [left | right | center_horizontal | top | center_vertical | bottom | center | fill_horizontal | fill_vertical | fill | clip_horizontal | clip_vertical ] |
◼ measureAllChildren
해당 속성이 true 라면 FrameLayout 이 크기를 결정할 때 자식 view 가 gone 이여도 무시되지 않고 invisible 처럼 동작한다.
[measureAllChildren=true] | [measureAllChildren=false] |