activity_main.xml 파일을 보시면 맨처음에 Relative layout이라고 적혀있을겁니다. 이게 뷰를 표시하는 방법인데요,
레이아웃의 종류에는 Relative , Linear 등등이 있습니다.
리니어 레이아웃 :
리니어 레이아웃은 수직, 수평으로 자식개체를 표시하는 레이아웃입니다. 기본값은 수평으로 자식개체를 표시합니다.
이게 무슨말이냐면 리니어레이아웃 안에 자식객체를 만들 때 이 자식객체들을 가로로 쭉 표시할지 아니면 세로로 쭉 표시할지 하는것입니다.
이 설정은 android:orientation이라는 명령어로 설정 할 수 있는데, vertical과 horizontal이 있습니다.
vertical은 자식들을 수직으로 , horizontal은 자식들을 수평으로 쭉 쌓는 옵션입니다.
<vertical과 horizontal>
.. 리니어 레이아웃은 한쪽방향으로만 뷰를 붙힐수 있는 레이아웃입니다. 이 레이아웃은 중첩해서 사용할 수 있는데 중첩해서 원하는 모양의 레이아웃을 만들 수 있습니다.
레이아웃 옵션중 너비와 높이를 조정할 수 있는 layout_width 와 layout_height가 있습니다.
이들은 고정길이를 지정해 줄 수 있는 단위인 dp,in,mm,px,sp가 있고 match_parent, wrap_content라는 옵션이 있습니다.
match_parent : 자기의 부모 만큼..; 자기를 감싸고 있는 뷰의 크기 만큼 자리를 차지하겠다.
wrap_content : 자기가 사용한 영역만큼 차지하겠다.
★1의 경우 layout_width에 match_parent의 옵션을, 나머지(★2,★3)의 경우 wrap_content를 준 예입니다.
in,mm,px은 우리에게 익숙한 단위이지만 dp와 sp는 생소하실겁니다.
먼저 안드로이드기기는 화면이 같은 인치라고 하더라도 기기에 따라 해상도가 다르기 때문에 고정단위로 레이아웃을 만들게 되면 기기에 따라 화면이 다르게 나타납니다. 이를 해결하기 위해 만들어진 것이 dp입니다.
dp는 해상도 밀도에 맞게 크기가 조정되기 때문에 어떤 해상도를 가진 기기에서도 똑같은 크기로 보입니다.
sp는 글자크기에 주로 사용되는 단위입니다.
====================================================================================
뷰에 여백넣기
뷰에 여백을 넣는 방법에는 margin과 padding이 있습니다.
layout_margin : 바깥 여백
padding : 안쪽 여백
margin**** ,padding*****과 같이 ****부분에 Left,Right,Bottom,Top을 넣어서 각 부분만 여백을 줄 수 도 있습니다.
===================================================================================================
뷰에 정렬하기
layout_gravity와 gravity 이 두 속성이 사용됨.
layout_gravity는 자기 자신을 움직이는 속성이고 gravity는 자신의 내용물을 움직이는 속성임.
여기 옵션에는 center , center_horizontal (가로만 가운데정렬), center_vertical, top, bottom, start(왼쪽으로),end(오른쪽으로)등의 옵션들이 있고 | 문자를 이용해 두가지 정렬 방식을 동시에 사용 할 수도 있습니다.
* LinearLayout이 horizontal이면 자식뷰의 layout_gravity에 top,center,bottom만 지정 가능.
* vertical이면 start,center,end만 지정 가능