ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Layout, Margin, Padding, Gravity
    Android 2024. 3. 27. 23:46

    3-2(Android UI - Layout), 3-3(Android UI 실습)

    Margins/Padding/Gravity에 대한 이해

    Linear Layout

    LayoutWeight : 자식들이 배치 될 때, 전체 영역 대비 비율의 개념으로 지정할 수 있는 Weight(가중치)를 설정

     

    Relative Layout

    Table Layout

    일단 넘김(아직 공부X)

    Frame Layout

    정의: 컨테이너에 포함되 뷰들을 전부 좌상단에 배치하는 레이아웃

    - 하나의 자식 View 위젯만 표시할 때 사용하는 Layout 클래스

    - FrameLayout에 여러 View 위젯을 자식으로 추가하면 겹쳐진 형태로 표시되며, 가장 최근에 추가된 View 위젯이 가장 상위에 표시

    - 모든 자식 View는 좌상단에 배치되며, 여러 개의 자식 View를 포함하는 경우 겹쳐져서 표시 됨

     

    Constraint Layout

    constraintLayout은 RelativeLayout보다 유연하고 다양한 기능을 제공함

    사이드핸들(SideHandle)

    • button에서 android:layout_width="0dp" 로 설정 → 다 같은 비율로 맞출거면 굳이 값을 설정하지 않아도 된다.
    •  
    app:layout_constraintHorizontal_weight="1"

    Margin(바깥쪽 여백)

    뷰와 다른 뷰(컨테이너)간의 간격

    margin과 padding

     

    Padding(안쪽 여백)

    android:gravity → 해당 위젯 내 내용물(텍스트)의 위치에 대한 정렬 방식

    android:layout_gravity → 부모 뷰 안에서 해당 뷰(위젯)의 정렬 방식 지정

    gravity 위치 정리

    Style

    레이아웃을 지정하는 xml과 별개인 xml 리소스에 정의된다.

    Theme

    개별 View가 아니라 전체 Activity 또는 application에 적용되는 스타일이다.

    styles.xml
    pigma.xml

    이렇게 미리 style을 지정을 해줘서 Button 등 뷰 위젯에서 style 속성으로 불러오면 코드의 중복을 피할 수 있다.

     

    3-3. Android UI 실습

    왼쪽 - 내 코드, 오른쪽 - 해설 코드

    세개의 레이아웃의 비유링 같은 경우 0dp 로 설정하면 알아서 같은 비율로 화면에 채워진다

    왼쪽 - 내 코드, 오른쪽 - 해설 코드

     

    constraintLayout에서 button8이 button7 오른쪽에 오는건 알겠는데, 위치까지 같게 해주려면 top과 bottom을 parent에 고정시키는건지 애매했다(button7이 center에 잡혀서 우연히 맞아떨어지는거다). button7의 위치와 상관없이 정렬도 같게 할면 top을 btn7의 top에, bottom을 btn7의 bottom에 고정시키면 된다.

    'Android' 카테고리의 다른 글

    Activity LifeCycle, Activity Stack  (0) 2024.03.29
    Activity, Intent  (0) 2024.03.28
    2번째 키오스크 과제  (0) 2024.03.24
    안드로이드 세번째 과제  (0) 2024.03.23
    앱 아키텍처 - 챌린지 과제  (0) 2024.03.22
Designed by Tistory.