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 이름)
- 형식: android: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();
- getText 메소드: 입력받은 문자열을 JAVA 코드로 활용하기 위한 참조 메소드
- Button: 사용자의 선택 이벤트를 받는 인터페이스 제공 (속성: text, textAllCaps, onClick 등)
- 이외의 다른 종류도 많음
- TextView: 문자열 출력 (text 속성으로 직접 지정 or string.xml에 id로 정의)
참고자료
[도서]
- 모바일앱프로그래밍 (저자 정광식, 유헌창 / 2023 발행)
[웹사이트]
뷰의 레이아웃 | Views | Android Developers
레이아웃은 활동 또는 앱 위젯의 UI와 같은 사용자 인터페이스의 시각적 구조를 정의합니다. 두 가지 방법으로 레이아웃을 선언할 수 있습니다. Android 프레임워크를 통해 이 두 가지 메서드의 하
developer.android.com