Android Document  SDK old PDF 파일
Hierarchy of Screen Elements
작성자
작성일 2008-03-03 (월) 11:10
ㆍ추천: 0  ㆍ조회: 4500      
IP: 221.xxx.120

Hierarchy of Screen Elements
[스크린 구성요소의 계층구조]

The basic functional unit of an Android application is the activity--an object of the class
android.app.Activity. An activity can do many things, but by itself it does not have a presence
on the screen. To give your activity a screen presence and design its UI, you work with views
and viewgroups -- basic units of user interface expression on the Android platform.

안드로이드 애플리케이션의 기본적인 기능 단위는 activity(android.app.Activity 클래스 오브젝트)
이다. activity는 많은 것을 할 수 있지만, 그 자체로는 스크린에 아무것도 표현할 수는 없다.
여러분의 activity에 스크린 표현을 부여하고 그것의 UI를 디자인하기 위해서는, 여러분은 view와
viewgroup(안드로이드 플랫폼상의 사용자 인터페이스 표현의 기본 단위)을 가지고 작업을 한다.

Views

A view is an object of base class android.view.View. It's a data structure whose properties store
the layout and content for a specific rectangular area of the screen. A View object handles
measuring and layout, drawing, focus change, scrolling, and key/gestures for the screen area it
represents.

The View class serves as a base class for widgets -- a set of fully implemented subclasses that
draw interactive screen elements. Widgets handle their own measuring and drawing, so you can
use them to build your UI more quickly. The list of widgets available includes Text, EditText,
InputMethod, MovementMethod, Button, RadioButton, Checkbox, and ScrollView.


view는 android.view.View 기본 클래스의 오브젝트이다. 이것은 화면의 특정 직사각형 영역을 위한
컨텐츠와 레이아웃을 저장하는 속성을 지닌 데이타 구조이다. View 오브젝트는 그것을 표현하는 화면
영역에 대한 측정, 레이아웃, 그리기,포커스 변경, 스크롤링, 키나 제스처를 관리한다.
view 클래스는 widget(상호작용하는 스크린 구성요소를 그리는 완전하게 구현된 서브클래스 집합)을
위한 기본 클래스이다. Widget은 그 자신이 측정과 그리기를 관리한다. 그러므로 여러분은 여러분의
UI를 더 빨리 만들기 위해 그것을 사용할 수 있다. 가용한 Widget 목록은 Text, EditText, InputMethod,
MovementMethod, Button, RadioButton, Checkbox, and ScrollView 이다.

Viewgroups

A viewgroup is an object of class android.view.Viewgroup. As its name indicates, a viewgroup is
a special type of view object whose function is to contain and manage a subordinate set of views
and other viewgroups, Viewgroups let you add structure to your UI and build up complex screen
elements that can be addressed as a single entity.

The Viewgroup class serves as a base class for layouts -- a set of fully implemented subclasses
that provide common types of screen layout. The layouts give you a way to build a structure for a
set of views.

viewgroupd은 android.view.Viewgroup 클래스의 오브젝트이다. 그 이름이 의미하듯이, viewgoup은
view object의 특별한 타입이다. 그것의 함수는 view나 다른 viewgroup의 하위 집합을 포함하고 관리
한다. Viewgroup은 여러분이 여러분이 UI에 구조를 추가할 수 있게 하며, 하나의 엔티티로써 지정될 수
있는 복잡한 스크린 구성요소를 만들수 있게 한다.

Viewgoup 클래스는 레이아웃(스크린 레이아웃의 일반적 타입을 제공하는 완전하게 구현된 서브클래스
집합)을 위한 기본 클래스로써 소용이 된다.  레이아웃은 view 집합체를 위한 하나의 구조체를 만들 수
있는 방법을 여러분에게 제공한다.

A Tree-Structured UI [트리 구조화된 사용자 인터페이스]

On the Android platform, you define an Activity's UI using a tree of view and viewgroup nodes, as
shown in the diagram below. The tree can be as simple or complex as you need to make it, and you
can build it up using Android's set of predefined widgets and layouts or custom view types that you
create yourself.

 
안드로이드 플랫폼에서 여러분은 view와 viewgroup 노드의 트리를 사용하는 Activity UI를 아래에 보여지는
다이어그램처럼 정의한다. 그 트리는 여러분이 만들고자 하는 필요에 따라 단순할 수도 복잡할 수도 있다.

그리고 여러분은 안드로이드의 미리정의된 위젯 집합체와 레이아웃, 또는 여러분이 직접 만든 자체적은
view 타입을 이용하여 그것을 만들 수 있다.

 
 
 
To attach the tree to the screen for rendering, your Activity calls its setContentView() method and
passes a reference to the root node object. Once the Android system has the reference to the root
node object, it can work directly with the node to invalidate, measure, and draw the tree. When your
Activity becomes active and receives focus, the system notifies your activity and requests the root
node to measure and draw the tree. The root node then requests that its child nodes draw themselves
-- in turn, each viewgroup node in the tree is responsible for drawing its direct children.

As mentioned previously, each view group has the responsibility of measuring its available space,
laying out its children, and calling Draw() on each child to let it render itself. The children may request
a size and location in the parent, but the parent object has the final decision on where how big each
child can be.

 
렌드링을 위한 스크린에 트리를 추가하기 위해, 여러분의 Activity는 그것의 setContentView() 메쏘드를
호출하고, 최상위 노드 오브젝트에 대한 참조를 넘긴다. 안드로이드 시스템이 최상위 노드 오브젝트에 대한
참조를 얻게 되면, 무효화 하고, 측정하고, 그리고 트리를 그려야 할 노드를 가지고 직접 작동할 수 있다.

여러분의 Activity가 활성화되고 포커스를 받게 될 때, 시스템은 여러분의 activity에 통보하고, 측정하고
그려야 할 트리의 최상위 노드를 요청한다. 최상위 노드는 자신의 하위 노드에게 자기 자신을 그릴 것을
요청한다. - 사실, 트리에서 각각의 viewgroup 노드는 자신의 바로 하위노드를 그릴 책임을 가지고 있다.
앞서 언급했듯이, 각각의 view group은 가용한 공간을 측정하고, 하위 view를 레이아웃팅하고, 각각의

하위 view가 스스로를 렌더링 하도록 Draw()를 호출할 책임을 가지고 있다. 하위의 view는 상위의 view
내에서 크기와 위치를 요청할 수 있으나, 상위 오브젝트는 하위 view가 얼마나 크게 존재할 수 있는가를

결정한다.

LayoutParams: How a Child Specifies Its Position and Size
LayoutParams: 하위 view의 위치와 크기를 산정하는 방식

Every viewgroup class uses a nested class that extends ViewGroup.LayoutParams. This subclass
contains property types that define a child's size and position, in properties appropriate for that view
group class.

 
모든 viewgroup 클래스는 ViewGroups.LayoutParams을 확장한 중첩 클래스를 이용한다. 이 서브클래스는
view group 클래스에 잘 맞는 속성들내에서 하위 view의 크기와 위치를 정의하는 속성 타입을 포함하고
있다.

 
   
Note that every LayoutParams subclass has its own syntax for setting values. Each child element must
define LayoutParams that are appropriate for its parent, although it may define different LayoutParams for
its children.

All viewgroups include width and height. Many also include margins and borders. You can specify
width and height exactly, though you probably won't want to do this often. More often you will tell your
view to size itself either to the dimensions of its content, or to become as big as its containing object
will allow.

 
모든 LayoutParams 서브클래스는 값을 설정하기 위한 자신 소유의 구문을 가지고 있다. 각가의 하위 구성
요소는 그것의 상위 구성요소가 하위 구성요소에 대하여 다른 LoyoutParams을 정의할 수 있다고 할지라도

적절하게 LayoutParams을 정의해야 한다.
모든 viewgroup은 너비와 높이를 포함한다. 또한 많은 것들이 Margin과 border를 포함한다. 여러분은 그것을
공개하길 원지 않았을지도 모르지만, 정확하게 너비와 높이를 명시할 수도 있다. 좀 더 빈번하게 여러분은,
그것 자신이 포함하고 있는 컨텐츠의 넓이 때문이든, 오브젝트를 가능한 한 포함할 수 있도록 크게 하기
위해서여러분 자신의 view가 그 자신의 크기를 다시 설정하라고 지시할 것이다.
덧글 쓰기 0
3500
※ 회원등급 레벨 0 이상 읽기가 가능한 게시판입니다.
    N     분류     제목    글쓴이 작성일 조회
48 What is Android? 2008-03-03 12006
47 Getting Started with Android 2008-03-03 9185
46 Implementing a User Interface 2008-03-03 4493
45 Hierarchy of Screen Elements 2008-03-03 4500
44 Common Layout Objects 2008-03-03 5490
43 Working with AdapterViews 2008-03-03 3580
42 Designing Your Screen in XML 2008-03-03 4040
41 Listening for UI Notifications 2008-03-03 3498
40 Applying a Theme to your Application 2008-03-03 3363
39 UI Elements and Concepts Glossary 2008-03-03 4105
38 Android Building Blocks 2008-03-03 3932
37 Storing, Retrieving and Exposing Data 2008-03-03 2966
36 Security and Permissions in Android 2008-03-03 3784
35 Life Cycle of an Android Application 2008-03-03 5124
34 Developing Android Applications 2008-03-03 3845
33 Resources and Internationalization 2008-03-03 3844
123456