• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1page.title=UI 개요
2@jd:body
3
4
5<p>Android 앱의 모든 사용자 인터페이스 요소는 {@link android.view.View}와
6{@link android.view.ViewGroup} 개체를 사용하여 구축합니다. {@link android.view.View}는 사용자가 상호 작용할 수 있는 무언가를
7화면에 그리는 객체입니다. {@link android.view.ViewGroup}은
8인터페이스 레이아웃을 정의하기 위해 다른 {@link android.view.View}(및{@link android.view.ViewGroup}) 객체를
9보유하는 객체입니다.</p>
10
11<p>Android는 공통 입력 제어(버튼 및 텍스트 필드)와 다양한 레이아웃 모델(선형 또는 관계 레이아웃)을 제공하는 {@link android.view.View}와 {@link
12android.view.ViewGroup} 하위 클래스의
13컬렉션을 제공합니다.</p>
14
15
16<h2 id="Layout">사용자 인터페이스 레이아웃</h2>
17
18<p>앱의 각 구성 요소에 대한 사용자 인터페이스는 그림 1에서 나타난 바와 같이 {@link
19android.view.View}와 {@link android.view.ViewGroup} 객체의 계층으로 정의됩니다. 각 보기 그룹은
20하위 보기를 체계화하는 투명한 컨테이너이고,
21하위 보기는 UI의 일부분을 그리는 제어나 다른 위젯일 수 있습니다.
22이 계층 트리는 개발자에게 필요한 만큼 단순하거나 복잡하게
23만들 수 있습니다(다만 단순한 것이 성능에는 가장 좋습니다).</p>
24
25<img src="{@docRoot}images/viewgroup.png" alt="" />
26<p class="img-caption"><strong>그림 1.</strong> 보기 계층을 나타낸 것으로, 이것이
27UI 레이아웃을 정의합니다.</p>
28
29<p>레이아웃을 선언하려면 코드의 {@link android.view.View} 객체를 인스턴트화하고 트리를 구축하기 시작하면 되지만,
30레이아웃을 정의하는 가장 쉽고 효과적인 방법은 XML 파일을 사용하는 것입니다.
31XML은 HTML과 유사한, 인간이 읽을 수 있는 레이아웃 구조를 제공합니다.</p>
32
33<p>보기의 XML 요소 이름은 해당 요소가 나타내는 각각의 Android 클래스를 따릅니다. 말하자면
34<code>&lt;TextView&gt;</code> 요소가 UI에서 {@link android.widget.TextView} 위젯을 생성하고,
35<code>&lt;LinearLayout&gt;</code> 요소는 {@link android.widget.LinearLayout} 보기
36그룹을 생성하는 것입니다. </p>
37
38<p>예를 들어, 텍스트 보기와 버튼 하나가 있는 단순한 수직 레이아웃은 이런 모습을 띱니다.</p>
39<pre>
40&lt;?xml version="1.0" encoding="utf-8"?>
41&lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
42              android:layout_width="fill_parent"
43              android:layout_height="fill_parent"
44              android:orientation="vertical" >
45    &lt;TextView android:id="@+id/text"
46              android:layout_width="wrap_content"
47              android:layout_height="wrap_content"
48              android:text="I am a TextView" />
49    &lt;Button android:id="@+id/button"
50            android:layout_width="wrap_content"
51            android:layout_height="wrap_content"
52            android:text="I am a Button" />
53&lt;/LinearLayout>
54</pre>
55
56<p>앱에 레이아웃 리소스를 로드하면 Android가 레이아웃의 각 노드를 초기화하여
57추가 동작을 정의하거나, 객체 상태를 쿼리 또는 레이아웃을 수정하는 데 쓸 수 있는 런타임 객체로
58초기화합니다.</p>
59
60<p>UI 레이아웃 생성에 대한 완전한 가이드는 <a href="declaring-layout.html">XML
61레이아웃</a>을 참조하십시오.
62
63
64<h2 id="UIComponents">사용자 인터페이스 구성 요소</h2>
65
66<p>UI를 구축할 때 모두 {@link android.view.View} 및 {@link
67android.view.ViewGroup} 객체를 사용해야 하는 것은 아닙니다. Android가 표준형 UI 레이아웃을 제공하는 앱 구성 요소를 여러 개 제공하고 있으니,
68개발자 여러분은 이에 대한 콘텐츠만 정의하면 됩니다. 이와 같은 UI 구성 요소에는 각각
69고유한 API 세트가 있습니다. 이들은 <a href="{@docRoot}guide/topics/ui/actionbar.html">작업 모음</a>, <a href="{@docRoot}guide/topics/ui/dialogs.html">대화</a> 및 <a href="{@docRoot}guide/topics/ui/notifiers/notifications.html">상태 알림</a> 등 각각 다른 문서에서 설명하였습니다.</p>
70
71
72