티스토리 뷰

Android/UI

FrameLayout

parkho79 2019. 11. 6. 09:19
300x250
300x250



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]



728x90

'Android > UI' 카테고리의 다른 글

RelativeLayout  (0) 2019.11.06
LinearLayout  (0) 2019.11.06
AbsoluteLayout  (0) 2019.11.06
Include & merge tag  (0) 2019.10.31
ViewStub  (0) 2019.08.27
댓글