개발 공부/안드로이드

[안드로이드 공부]Linear Layout 리니어 레이아웃과 속성

밍혁팟 2020. 9. 18. 20:40

오늘은 리니어 레이아웃 (Linear Layout)을 공부했다.

 

리니어 레이아웃 (Linear Layout) : 박스형 모델로 한쪽 방향으로 차례대로 뷰를 추가하며 화면을 구상하는 방법, 뷰가 차지할 수 있는 사각형 영역을 할당

 


 

 

출처 : Do it! 안드로이드 앱 프로그래밍

 

리니어 레이아웃의 사용 방식은 위의 사진과 같다.


 

 

먼저 실습을 하기 위해 새로운 프로젝트를 생성하고 Xml파일로 들어간다.

 

 

 

Code탭에 들어간다음 최상위 레이아웃인 "constraintlayout"을 LinearLayout으로 바꾼다.

 

 

이렇게

 

그리고 android:layout_width와 android:layout_height을 제외한 나머지를 코드들을 지워준다.

그 다음 디자인탭으로 돌아간다.

 

 

constraintlayout이 LinearLayout으로 바뀌었다.

그런 다음 리니어 레이아웃의 필수 속성인 방향속성을 설정해줄건데

 

 

 

속성의 orientation에서 설정해줄 수 있다.

 

 

속성은 두 가지 인데 horizontal은 가로방향 vertical은 세로 방향으로 설정해줄 수 있다.

일단 예시로 vertical로 설정해준다.

 

설정하면 코드에 android:orientation이라는 코드가 추가가 되었을 것이다.

 

디자인 탭에서 버튼을 끌어놓으면 이렇게 되는데 아무데나 놔도 정해진 위치에 놔진다.

현재는 속성이 vertical이기 때문에 세로로 놔진다.

 

버튼 크기는 커서 layout_width를 warp_content로 바꾸어 주었다.

 

일단 버튼 3개로 놔주었다.

 

 

 

만약 방향 속성이 horizontal이라면 이런 화면이 나올 것이다.

 

 

정렬 조정은 All Attributes -> layout_gravity에서 설정이 가능하다.

 

 

만약 center로 설정 했을시

 

 

이렇게 중앙으로 위치가 변경이 된다.

 

 

2번째 버튼은 right, 3번째를 left로 설정해주었다.

 

 

xml코드는 이렇게 android:layout_gravity가 추가가 되었다.

참고로 gravity는 버튼 안 텍스트를 정렬 시킨다. (뷰 내부의 정렬)

Layout_margin : 뷰의 바깥쪽 여백을 설정해준다.

그냥 Layout_margin은 상하좌우 모두를 설정하지만 하나하나 세세하게 도 가능하다.

이렇게 위쪽만 마진을 설정해 줄 수 있다.

 

Padding : 위젯 테두리로부터 위젯 안에의 내용 사이의 여백을 말한다.

textsize : 텍스트 크기

 

이외에도 textcolor, background도 배웠지만 내용이 너무 많이 생략... 뜻은 대충 이해했을거라 생각한다. 간단하게 설명하자면

 

textcolor : 텍스트 색

background : 위젯의 배경 색

 

색상 지정법에 관한 사진이다. 알파는 투명도를 뜻한다.

 

 

이번에는 여기까지고 다음에는 리니어 레이아웃에 대해서 좀더 공부할예정이다.