일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- Log.d
- android 개발
- 안드로이드 프로젝트
- android 튜토리얼
- jitpack
- 안드로이드 스튜디오 설치
- vscode extenstion
- 안드로이드 view
- 안드로이드모듈
- 안드로이드 시작하기
- NetworkCallback
- xcode idfa
- prettier vscode
- NetworkInfo deprecated
- listview adapter
- android color 클래스
- 레이아웃
- 안드로이드 스튜디오
- win10 virtualenv
- 안드로이드 공부
- 안드로이드 color
- vscode extension 추천
- logcat 사용법
- 파이썬 의존성
- 모듈 관리
- prettier 사용법
- android studio 3
- NetworkInfo 대체
- 모듈 배포
- swift idfa 확인방법
- Today
- Total
세라쌤의 IT 튜토리얼
안드로이드의 레이아웃(ViewGroup)과 뷰(View) (2) 본문
1. ViewGroup과 View
공식 Docs : https://developer.android.com/guide/topics/ui/declaring-layout?hl=ko
안드로이드 애플리케이션의 화면(User Interface)를 표현하는 구성요소는 ViewGroup과 View가 있다. ViewGroup은 여러 View를 한 덩어리로 묶어주는 틀의 역할을 하며 View는 각 컴포넌트들을 의미한다. (ViewGroup은 View를 상속받았기 때문에 ViewGroup또한 View의 일종이다.)
사용자 화면에 노출해야하는 액티비티는 반드시 레이아웃이나 뷰를 선언해야 하는데 선언 방법은 2가지가 있다.
- 정적 선언 : res/layout에 xml을 사용하여 선언.
- 동적 선언 : java 소스코드를 사용하여 런타임 중 객체화를 통해 선언. ( ex. new LinearLayout() )
(잘못된 루트의 예시)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout>
......
</LinearLayout>
<LinearLayout>
......
</LinearLayout>
(올바른 루트의 예시)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout>
<LinearLayout>
......
</LinearLayout>
<LinearLayout>
......
</LinearLayout>
</LinearLayout>
2. 공통 특성
1) id
android:id="@+id/아이디" |
id는 각 View에 부여하는 고유 식별값이다. 이는 동적인 처리가 필요한 경우(onCreate() 내부에서 대상을 객체화해야 하는 경우) 사용한다.
아무 기능이 없고 단지 병풍(?) 역할을 한다면 id 부여는 생략해도 된다.
2) layout parameters (필수)
android:layout_width="wrap_content 혹은 match_parent" android:layout_height="wrap_content 혹은 match_parent" |
모든 View는 너비(width)와 높이(height)를 설정해야 한다.
속성의 값으로는 3가지 옵션이 있다.
- match_parent : 부모가 지정한 크기를 그대로 물려받는다.
- warp_content : 자신 View의 내용에 딱 맞는 크기로 지정된다.
- 정수dp : 직접 크기를 지정한다. (예. 100dp)
3) 기준 위치
4) 내부 여백(Padding)과 외부 여백(Margin)
- padding : view와 content(내부 내용) 사이의 간격
- margin : view와 외부와의 간격
다음 그림은 하늘색 View에 padding과 margin을 적용했을 때 모습이다.
'Android' 카테고리의 다른 글
Relative Layout (0) | 2019.03.15 |
---|---|
LinearLayout (0) | 2019.03.14 |
안드로이드의 레이아웃(ViewGroup)과 뷰(View) (1) (0) | 2019.03.14 |
android 애플리케이션의 기본 요소 (0) | 2019.03.14 |
android AVD (에뮬레이터) 설치하기 (2) | 2019.03.13 |