[Android] View, Layout

June·2023년 6월 9일
0

View

  • 화면에서 눈에 보이는 모든 요소를 View라고 부른다
  • 화면에 배치하는 모든 View들은 클래스로 제공되며 View 클래스를 상속받고있다
  • View 클래스는 모든 UI 요소들의 최상위 클래스인 부모클래스로 WidgetLayout으로 나눈다
  • View 객체는 일반적으로 Widget이라고 하고 Button 또는 TextView와 같은 여러 서브클래스 중 하나일 수 있다
  • 공통적인 View 주요 속성
    • id : View를 지칭하기 위해 사용하는 속성
    • layout_width : View의 가로길이. dp 단위. wrap_content, match_parent
    • layout_height : View의 세로길이. dp 단위. wrap_content, match_parent
    • wrap_conent : 자신을 완변하게 표현할 수 있는 최소 사이즈
    • match_parent : 레이아웃 크기에 꽉 채운다
    • layout_margin : View의 외부 여백을 설정
    • padding : View의 안쪽 여백을 설정

Widget

  • 안드로이드의 View 중 기능을 갖고 사용자와 상호작용을 하는 것들을 Widget이라고 부른다
  • WidgetLayout 위에 배치되어 화면에 나타나고 코드를 통해 Widget 통제하여 사용자와 소통을 하는 수단
  • Layout에 사용하고자 하는 Widget을 배치하고 Activity가 실행되면 화면이 구성되고 화면에 배치된 모든 View들은 객체로 생성
  • 객체로 생성된 View 중에 필요한 Widget들의 주소 값을 얻어와 코드로 이들을 통제하고 필요하다면 이벤트에 대한 코드를 구성하여 사용

Layout

  • Layout은 앱에서 사용자 인터페이스를 위한 구조를 정의
  • Layout의 모든 요소는 ViewViewGroup 객체의 계층 구조를 사용하여 빌드됩니다
  • ViewGroup 객체는 일반적으로 Layout이라고 하고 다양한 레이아웃 구조를 제공하는 여러 유형 중 하나일 수 있습니다
  • 다른 View 들을 포함 하고(Container) 내부의 View를 통합 관리하고(View Group) 내부 View 들이 배치되는 모양을 결정(Layout) 한다

LinearLayout

  • 방향성을 가지고 view 를 배치하는 layout
  • 가로 혹은 세로방향으로 배치할 수 있으며 한 칸에 하나의 view 만 배치
  • 안드로이드에서 가장 많이 사용하는 layout. LinearLayout을 조합하여 다양한 모양을 만들 수 있다
  • 주요 속성
    • orientation : 배치되는 모양을 결정
    • weight : LinearLayout 안에 배치되는 View 들의 비율을 설정

RelativeLayout

  • Parent나 다른 view 와의 관계를 설정하여 배치하는 layout
  • Relative Layout 에는 특별한 속성이 없지만 배치되는 view 들의 속성을 이용해 배치를 결정
  • 주요 속성
    • layout_alignParentTop : 자신의 상단을 parent 의 상단 부분과 일치 시킨다
    • layout_alignParentBottom : 자신의 하단을 parent 의 하단 부분과 일치 시킨다
    • layout_alignParentLeft : 자신이 좌측 부분을 parent 의 좌측 부분과 일치 시킨다
    • layout_alignParentRight : 자신의 우측 부분을 parent 의 우측 부분과 일치 시킨다
    • layout_centerHorizontal : 세로 방향의 중앙에 정렬
    • layout_centerVertical : 가로 방향의 중앙에 정렬
    • layout_centerInParent : 가로 세로 모두 중앙에 정렬
    • layout_alignTop : 자신의 상단 부분을 지정된 view 의 상단 부분에 일치 시킨다
    • layout_alignBottom : 자신의 하단 부분을 지정된 view 의 하단 부분에 일치 시킨다
    • layout_alignLeft : 자신의 좌측 부분을 지정된 view 의 좌측에 일치 시킨다
    • layout_alignRight : 자신의 우측 부분을 지정된 view 의 우측에 일치 시킨다
    • layout_above : 지정된 view 상단에 배치
    • layout_below : 지정된 view 하단에 배치
    • layout_toRightOf : 지정된 view 우측에 배치
    • layout_toLeftOf : 지정된 view 좌측에 배치

    ConstraintLayout

  • RelativeLayout 을 개선한 layout 으로 보다 유연하게 화면을 구성할 수 있다
  • ConstraintLayoutRelativeLayout 처럼 부모와의 관계나 다른 View와의 관계를 설정
  • 실선 제약 조건 : 지정된 기준으로부터 얼마큼 떨어진 위치에 있는지 좌표를 설정
  • 스프링 제약 조건 : 지정된 기준으로부터 얼마큼 떨어진 위치에 있는지 비율을 설정

    Space

  • Space는 Layout은 아니지만 Layout을 이용해 화면을 구성할 때 보조 수단으로 사용
  • 화면을 구성할 때 여백이 필요할 경우 layout_margin을 사용해도 되지만 직관적으로 Space가 배치됨에 따라 여백의 존재를 알수 있기에 사용
profile
끝까지 해보자

0개의 댓글