Java & Android

Android UI Basics - Layout and View

그레이트쪼 2017. 3. 3. 21:13

Layout

  

  • android:orientation
    • LinearLayout에서 하위 요소들을 가로로 배열할 지 세로로 배열할 지 결정한다.
  • android:layout_width, android:layout_height 
    • 가로 속성, 세로 속성으로 아래와 같은 값이 온다.
      • "match_parent": 부모를 꽉 채움
      • "wrap_content": 해당 콘텐트에 필요한 크기만큼 자리를 차지함
  • android:layout_weight
    • "wrap_content"로 지정된 일련의 view들에 대해 비율을 조정한다. 1, 2, 3으로 weight가 할당되었다면 1/6, 2/6, 3/6의 비율을 갖는다는 의미


View - Margin and Align

 

  • android:layout_margin
    • Layout의 속성으로 내부 View와의 간격(4면)을 의미한다. 
    • layout_marginLeft/layout_marginRight/layout_marginTop/layout_marginBottom을 통해 따로 따로 설정도 가능하다.
  • android:padding
    • View의 속성으로 내부의 실제 콘텐트와의 간격(4면)을 의미한다. 
    • paddingLeft/paddingRight/paddingTop/paddingBottom을 통해 따로 따로 설정도 가능하다.
  • android:baseLineAligned
    • Layout의 속성으로 크기가 서로 다른 내부 View들 간에 align을 아래 라인으로 맞춘다는 뜻이다.
  • android:gravity
    • View의 속성으로 내부의 실제 콘텐트를 어떻게 정렬할 것인가를 의미한다. 
    • 값으로는 center_horizontal/left/right/fill_horizontal/center_vertical/top/bottom/fill_vertical/center/fill 이 있다.
  • android:layout_gravity
    • View의 속성으로 layout에 대한 view의 정렬을 지정한다. 즉, gravity가 View 내부에 대한 정렬이라면 layout_gravity는 View 외부에 대한 정렬이다. 
    • 다만 LinearLayout의 orientation이 vertical이면 left나 right같은 가로 정렬 값만 유효하고 top이나 bottom같은 세로 정렬 값은 무시된다. 반대로 orientation이 horizontal이면 세로 정렬 값만 유효하고 가로 정렬 값은 무시된다.