[안드로이드]레이아웃종류와 비교 및 레이아웃 안에서 자주 사용되는 속성

[안드로이드]레이아웃종류와 비교 및 레이아웃 안에서 자주 사용되는 속성

레이아웃의 종류

  • 레이아웃은 ViewGroup 클래스로부터 상속된다.

https://recipes4dev.tistory.com/66
https://coding-restaurant.tistory.com/86

리니어 (LinearLayout) : 선형 레이아웃

  • 가장 많이 사용.
  • 왼쪽 위부터 아래쪽 또는 오른쪽으로 차례로 배치

렐러티브 : 관계적 레이아웃.

  • 위젯 자신이 속한 레이아웃의 상하좌우 위치를 지정하거나 다른 위젯으로부터 상대적인 위치를 지정
  • 상대적인 위치로 배치
    • 상대적 기준 : 부모(레이아웃) 또는 뷰

https://recipes4dev.tistory.com/126
https://recipes4dev.tistory.com/126

테이블

  • span 기능이 없다.
  • 위젯을 행과 열의 개수를 지정한 테이블 형태로 배열.

그리드

  • 웹(html)의 테이블 개념과 가깝다.
  • 테이블레이아웃과 비슷하지만 행 또는 열을 확장하여 다양하게 배치가능

프레임

  • 왼쪽 위에 일률적으로 겹쳐 배치하여 중복되어 보이는 효과가능.
  • 여러개의 위젯을 배치한 후 상황에 따라서 필요한 위젯을 보이는 방식에 주로 활용




레이아웃 안에서 자주 사용되는 속성

orientation : 배치할 위젯의 방향 설정.

  • 수직(Vertical) / 수평(Horiwontal) 중 하나 선택.
  • 수직(Vertical) : 레이아웃에 포함된 위젯이 수직방향인 위에서 아래로 차곡차곡 쌓인다.
  • 수평(Horiwontal) : 위젯이 많은 경우 화면이 넘어가면서 자동으로 보이지않음




gravity : 위치 정렬

  • 자신에게 포함된 자식(주로 위젯)을 어디에 위치 시킬지 결정.
  • left / right / center / top / bottom등 가능
  • right||bottom 는 오른쪽 아래에 정렬한다는 의미.




layout_gravity : 위치 정렬

  • 자신의 위치를 부모(주로 레이아웃)의 어디쯤에 위치시킬지를 결정.
  • 그래서 보통 gravity는 레이아웃에 layout_gravity는 위젯에 지정한다.




padding : 위젯의 여백




layout_weight : 공간의 가중값

  • 여러 레이아웃이 중복될 때 각 레이아웃이 전체 화면에서 차지하는 공간의 가중 값.
  • 중복레이아웃을 사용할 경우 각 레이아웃의 크기를 지정해야한다. 레이아웃을 화면 전체에 채워야하기 때문에 dp, px등의 단위보단 전체화면에 대한 비율(%)인 layout_weight을 사용해야한다.

https://youtu.be/fSIFpquL4Vc?t=7




baselineAligned : 크기가 다른 위젯들을 보기 좋게 정렬.

  • true(디폴트) / false

https://coding-restaurant.tistory.com/86

참고

코딩맛집
개발자를 위한 레시피