- empty activity를 하나 생성합니다. 이름은 LinearTestActivity
기본적으로 생성되는 레이아웃이 ConstraintLayout 이므로, LinearLayout 으로 변경합니다.
res/layout/activity_linear_test.xml > Component Tree > ConstraintLayout > Convert view... 클릭
아래와 같은 팝업창이 뜬다면 LinearLayout 을 선택하고 Apply
참고 : Component Tree 가 안보인다면 Design 으로 선택 하거나, Split 으로 선택해서 좌측 palette를 열면 보입니다.
그리고 palette 에서 버튼을 세번 드래그 드랍합니다.
참고. 경고 메시지 "button should be borderless" File > Setting > Editor > Inspections 에서 Android > Lint > Usability > Button should be borderless 항목을 체크해제하면 경고 메시지가 사라집니다.
또는 아래와 같이 style="?android:attr/buttonBarButtonStyle" 을 button 에 추가하면 경고 메시지가 없어집니다.
LinearLayout 에서 orientation 을 vertical 로 입력하면 (기본값이 horizontal) UI 가 바뀝니다.
그리고 button 중 하나의 width 를 match_parent 로 변경하면 아래와 같은 화면이 됩니다.
weight
weight 라는 값이 있는데,
지금은 버튼 3개에 각각 weight 가 1 로 설정된 상태입니다. 모두 같은 넓이를 갖는다는 뜻입니다.
가운데 버튼만 5로 설정하면 다음과 같이 변합니다.
그리고 weight 속성을 모두 제거하면, height 설정이 적용됩니다. (현재는 wrap_content)
Gravity
gravity 는 중력이란 뜻으로 정렬 속성입니다.
layout_gravity : 부모 컨테이너의 여유 공간에 뷰가 모두 채워지지 않아 여유 공간이 생겼을 때 여유 공간 안에서 뷰를 정렬함 gravity : 뷰 안에 표시하는 내용물을 정렬함.
위 예제에서 LinearLayout 에 android:gravity="center" 를 추가하면 아래와 같이 됩니다.
댓글