개발지식/Android

[Android]Layout & View

감발자 2023. 11. 4. 16:57

안드로이드에서 뷰(View)와 레이아웃(Layout)은 사용자 인터페이스(UI)를 구성하는 핵심 요소입니다. 여기서 뷰는 화면에 그려지는 UI 요소를 말하며, 레이아웃은 이러한 뷰들을 어떻게 배치할지를 정의하는 컨테이너입니다

view란?

  • 화면을 구성하는 모든 기본 화면의 구성요소
  • button, editText, imageView (...) 

각각의 뷰는 사용자의 상호작용을 위한 다양한 이벤트와 속성을 갖고 있습니다.

 

 

Layout이란?

  • 여러 뷰들을 어떠한 구조로 화면에 배치할지를 정의
  • 뷰 중 눈에 보이지 않는 것들
  • 뷰 중 눈에 보이는 것들 → widge

 

view의 기본 속성

  • id: 뷰의 식별자 속성
  • layout_width, layout_height : 뷰의 크기 지정 (match_parent, wrap_content, dp)
    • match_parent: 해당 뷰가 자신이 속한 부모 컨테이너의 크기와 동일하게 되길 원할 때 사용
    • wrap_content: 뷰의 크기를 내부의 내용물에 맞추고자 할 때 사용 
    • dp는 고정된 크기의 요소들(예: 레이아웃의 여백이나 버튼의 크기 등)에 사용
  • margin, padding: 뷰와 뷰 사이의 간격, 뷰 내부에서 뷰 내용과 뷰 테두리 간 간격 지정

TextView

  • text
  • textSize (sp)
    • sp는 사용자 자의 글꼴 크기 설정에 영향을 받으므로 주로 텍스트의 크기를 지정하는 데 사용
  • textStyle 

 

ImgView

  • src
  • scaleType

Layout

 

Linear Layout

새로 또는 가로의 단일 방향으로 모든 요소를 정렬하는 레이아웃

 

Relative Layout

view끼리의 상대적 위치로 배치를 적용하는 레이아웃

Contraint Layout

LinearLayout이 가진 가중치의 장점과 RelativeLayout이 가진 상대적 위치 관계에 따른 배치를 활용할 수 있는 레이아웃

Frame Layout

여러 개의 VIew를 중첩으로 배치하고 그 중 하나를 layout의 전면에 표시할 때 사용하는 레이아웃

Table Layout

행과 열로 이루어진 표 형태의 구조를 가진 레이아웃

Grid Layout

Table Layout의 단점을 보완

직관적인 행렬선언과 셀 병합을 할 수 있고, 각각 행과 열의 개수를 지정할 수 있습니다

 

레이아웃 XML

안드로이드에서 레이아웃은 주로 XML 파일로 정의합니다. XML 레이아웃 파일을 사용하면 레이아웃과 UI 요소를 트리 구조로 정의할 수 있으며, 각 요소의 속성과 배치를 세밀하게 조정할 수 있습니다.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello, World!" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Click Me!" />
</LinearLayout>

 

위 XML 코드는 수직 방향으로 텍스트 뷰와 버튼을 배치하는 LinearLayout의 예시입니다.

 

본 포스팅은 유데미 '컴공선배 라이징캠프' 를 들으며 작성했습니다 .