반응형

뷰(View)

 

뷰는 안드로이드 기본 화면을 구성하는 모든 기본 화면의 구성요소이다.

 

우리가 어플리케이션에서 보는 버튼, 테이블, id/pw 입력 칸 등등 모든 것이 뷰가 된다.

 

HTML로 예를 들어보면 이미지를 나타내는 <img src>도 하나의 뷰고 <div>, <p>, <a href> 모든 것이 뷰라고 할 수 있다.

 

위의 그림처럼 뷰는 뷰를 포함 할 수 있고, 중첩적으로 사용 할 수 있다.

 

이때 뷰 중에서 눈에 보이는 것들은 위젯이라 부르고, 눈에 보이지 않는 것들은 레이아웃이라고 부른다.

레이아웃은 그 안에 다른 뷰들을 담아둘 수 있는데 레이아웃도 뷰를 상속하여 정의되었기 때문에 레이아웃 안에 레이아웃도 담을 수 있습니다.

레이아웃 안에 레이아웃, 다시 그 레이아웃 안에 레이아웃을 넣는 방식을 사용하면 복잡하지만 다이나믹한 화면을 연출 할 수 있게 된다.

 

http://weibeld.net/android/view-hierarchy.html

 

 

 

뷰 만들어 보기

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello world!"
        android:textSize="50dp" />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello world!"
        android:textSize="50dp">
    </TextView>

</LinearLayout>

위와 같이 코드를 작성하면 우측 화면과 같게 나타난다.

 

위의 코드에서 보면 LinearLayout라는 것이 있다. 이것은 레이아웃인데 눈에 보이지 않는 뷰에 해당한다.

 

그리고 두개의 TextView가 있는데 이러한 것들을 위젯이라고 한다.

 

그리고 모든 뷰를 자세히 살펴보면 layout_width, layout_height를 가지고 있다.

 

즉, 뷰는 항상 다음과 같은 꼴을 가지게 된다.

 

 

<시작 태그
	속성1 = "속성값"
	속성2 = "속성값"
    ...
</끝 태그>

혹은

<시작 태그
	속성1 = "속성값"
	속성2 = "속성값"
    ...
/>

 

그리고 모든 뷰는 항상 layout_width, layout_height를 설정해줌으로써 실제 크기를 지정해주어야 한다.

 

이때 wrap_content는 해당 뷰가 가지는 크기에 딱 맞게 설정해주는 것이고,

match_parent(or fill_parent)는 현재 여백의 화면을 꽉 채울 수 있도록 하는 역할을 한다.

 

 

 

반응형