2016. 8. 25. 09:20

안녕하세요 


IT비전공자 프동프동 입니다.


오늘은  ViewGroup 중에서 RelativeLayout에 대해서 배워보겠습니다.


지난 포스팅이 기억이 안나신다구요?


뷰 그룹(View Group)이란?

뷰(View)들의 배치정보와, 뷰들의 모든 구성을 모아놓은? 공간이라고 보면 되겠습니다.

그래서 뷰는 혼자 올 수 없습니다. 공간이 없는데 어떻게 들어가겠어요?ㅎㅎ 

마치 뷰와 뷰그룹은 농사에 땅과 씨앗 같은? 것이라 생각하면 이해가 되실거에요 땅이 없으면 씨앗을 못 심잖아요ㅎㅎ

뷰가 다양하게 많듯이, 뷰 그룹또한 다양합니다.

뷰 그룹 마다 뷰들을 놓은 배치 방식이 다르다고 하네요. 

뷰 그룹(ViewGroup)은 크게 3가지가 있습니다.

1. 수평 수직으로 놓을 수 있는 리니어 레이아웃(LinearLayout)

2. a와 b가 서로 상대적으로 연결되어 있는 렐라티브 레이아웃(RelativeLayout)

3. 겹쳐서 사용 할 수 있는 프레임 레이아웃(FrameLayout)


RelativeLayout은 자식 뷰 간의 서로 관계로 맺어져 있습니다. 

상대레이아웃 이라고 부르기도 한답니다.

그래서 저같은 초보일때는 다루기 쉬운 것 같으면서도 어렵다는;;;하나를 잘못 건들면 시공간이 어긋나듯이!!....

이해가 잘 안되시는 분들을 위해 더 자세히 설명하자면 

a를 기준으로 "b야 너 a 오른쪽에 붙어라"

"c야 너는 a 아래에 붙어라"

ㅋㅋㅋㅋㅋㅋ뭔가 이해되세여?  죄송합니다 이게 제 머리의 한계인듯;..

 

 

 

렐라티브 레이아웃(RelativeLayout):관계

렐...라...?렐러...?영어발음...그냥 이번엔 Relative라고 쭈욱 적을게요..

RelativeLayout 속성

layout_alignParent~~~

뒤에다가 어떠한 값을 쓰냐에 따라 위치가 달라집니다.

layout_alignParentRight: 부모 레이아웃 오른쪽에 위치

layout_alignParentLeft: 부모 레이아웃 왼쪽에 위치

layout_alignParentTop: 부모 레이아웃 에 위치

layout_alignParentBottom: 부모 레이아웃 아래에 위치

layout_centerInParent: 부모 레이아웃 정중앙에 위치

layout_centerVertical: 부모 레이아웃 수직 정중앙에 위치

layout_centerHorizontal: 부모 레이아웃 수평 정중앙에 위치


기준이 되는 뷰에 상대적으로 배치할 경우

layout_above=ID: 기준이 되는 뷰의 위에 위치

layout_alignTop=ID:기준이 되는 뷰의 위쪽에서 아래 방향으로 위치

layout_alignBottom=ID: 기준이 되는 뷰 아래에서 위 방향으로 위치

layout_below=ID: 기준이 되는 뷰 아래에 아래쪽 방향으로 위치

layout_toLeftOf=ID: 기준이 되는 뷰 왼쪽에 위치

layout_alignLeft=ID: 기준이 되는 뷰 왼쪽의 오른쪽에 위치

layout_toRightOf=ID: 기준이 되는 뷰 오른쪽에 오른쪽으로 배치

layout_alignRight=ID: 기준이 되는 뷰 오른쪽에 왼쪽으로 배치

layout_alignBaseLing: 기준이 되는 뷰에 글자가 있을 경우, 같은 선에 위치

 ex) android:layout_above="@id/textview1"

필요할 때마다 찾아서 사용하는 식으로 이해만 하고 가세요 ㅎㅎ 



오늘도 역시 힘든 안드로이드...

Posted by 프동프동