Mobile/Android

[Android 2024.3.1.13ver] View

Hya68 2025. 6. 20. 15:25

Activity와 View

  • Activity: 화면을 구성하는 단위
    • 여러 개의 Activity가 모여 하나의 안드로이드 앱을 구성
    • Activity 자체가 화면에 보이지는 않음
  • View: 화면을 구성하는 UI
    • 여러 개의 View가 모여 하나의 Activity를 구성
    • 크게 레이아웃(Layout)과 위젯(Widget)으로 구분

View 속성

  • id: View의 이름 정의
    • 형식: android:id=“@+id/ID”
      • @: id를 R.java에 등록하거나 R.java로부터 참조할 때 사용
      • +: id 정의할 때 사용, 참조할 때는 사용하지 않음
      • id/: 안드로이드 id 형식
      • ID: 개발자가 지정하는 속성값 (ID 이름)
  • background: View의 배경 지정 및 정보 정의
  • rotation: View의 각도 설정
  • padding: 안쪽 여백 지정 (View와 View 콘텐츠 사이의 여백)
  • margin: 바깥쪽 여백 지정 (View와 View 사이의 여백)
  • visibility: View 표시 여부
    • visible: 보이고 자리도 있음
    • invisible: 보이지 않지만 자리는 있음
    • gone: 보이지도 않고 자리도 없음
  • alpha: View 투명도 지정
  • 다른 속성도 많으니 필요한 속성 찾아서 직접 해보기

View 종류

  • 레이아웃(Layout)
    • 위젯을 화면에 정렬하여 배치하는 역할
    • ViewGroup 클래스로 구성됨 (ViewGroup: View 또는 ViewGroup의 모임으로 이들을 배치하는 역할)
    • 종류
      • LinearLayout: 모든 하위 요소를 한 방향, 즉 세로 또는 가로로 정렬하는 ViewGroup (orientation 속성으로 지정)
      • FrameLayout: 모든 자식 View가 좌측 상단에 나타나는 ViewGroup (xml 코드에 정의한 순으로 지정)
      • RelativeLayout: 부모에 대한 상대적 위치 지정이 가능한 ViewGroup
      • AbsoluteLayout: 절대적 위치 지정이 가능한 ViewGroup
      • RecyclerView: 사용자에게 더 이상 보이지 않는 항목 뷰를 재사용할 시점을 결정 하는 ViewGroup
      • AdapterView: 어댑터에 로드된 항목을 표시하는 ViewGroup
      • 이외의 다른 종류도 많음

 

  • 위젯(Widget)
    • 사용자와 상호작용을 위한 인터페이스 역할
    • 스스로 화면에 특정 내용을 출력할 수 있음
    • 종류
      • TextView: 문자열 출력 (text 속성으로 직접 지정 or string.xml에 id로 정의)
        • ex) <TextView ... android:text="hello_world" ... /> <TextView ... android:text="@string/hello_world" ... /> 
      • ImageView: 그림 출력 (src 속성으로 지정)
        • ex) <ImageView ... android:src="@drawable/(그림이름)" ... />
      • EditText: 사용자의 문자열 입력 이벤트를 받는 인터페이스 제공 
        • getText 메소드: 입력받은 문자열을 JAVA 코드로 활용하기 위한 참조 메소드
          • getText 메소드는 Editable 객체가 반환하는데, 이를 문자열로 변환하여 사용하는 것이 일반적
          • ex) ...getText().toString();
      • Button: 사용자의 선택 이벤트를 받는 인터페이스 제공 (속성: text, textAllCaps, onClick 등)
      • 이외의 다른 종류도 많음

참고자료

[도서]

- 모바일앱프로그래밍 (저자 정광식, 유헌창 / 2023 발행)

 

[웹사이트]

 

뷰의 레이아웃  |  Views  |  Android Developers

레이아웃은 활동 또는 앱 위젯의 UI와 같은 사용자 인터페이스의 시각적 구조를 정의합니다. 두 가지 방법으로 레이아웃을 선언할 수 있습니다. Android 프레임워크를 통해 이 두 가지 메서드의 하

developer.android.com