Android

Android - Layout (레이아웃)

TechNote.kr 2016. 1. 8. 23:44
728x90

Android App에서 Layout (화면구성)을 구성/선언하는 방법은 두가지가 있다. 


1. XML로 선언하여 표시

-. UI를 표시하는 XML을 별도로 두어 Code 구현과 화면 Design을 구분하는 방법이다.

   UI를 분리하여 구현 가능하다는 장점이 있지만 사용자 반응에 따라 혹시 어떤 event에 따라 dynamic 하게 UI가 변경되지는 못한다는 단점이 있다.


2. Runtime시 Instance 로 선언(코드)하여 표시

-. 위 XML로 선언하는 방식에 비해 코드와 Design의 분리가 불가능하다는 단점이 있지만, Runtime시 UI를 변경할 수 있다는 장점이 있다.


이에 따라 기본적인 UI는 XML로 표시하고, Runtime시 변경이 필요한 UI 부분에 대해서는 추가적으로 코드 구현을 하는 것이 일반적이다.


[activity_main.xml]

<?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:id="@+id/text"

              android:layout_width="wrap_content"

              android:layout_height="wrap_content"

              android:text="Hello, World" />

</LinearLayout>


[onCreate() on Activity]

public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.main_layout);

}


android:id="@+id/text" 


id 는 해당 View를 unique하게 식별하기 위한 것이다.

@ 기호는 id resource 의 시작점을 의미하고 id 로 인식하기 위한 것이다.

+ 기호는 다른 resource를 참조한다는 것이 아니라 새로운 resource를 생성한다는 것이다.


기본 android resource ID를 참조할 때엔느 다음과 같이 사용한다.

android:id="@android:id/empty" 



Layout 종류


-. Linear Layout

하위 component들을 수평이건, 수직이건 일렬로 나열하는 View Group.


-. Relative Layout

하위 component들 간에 상대적인 위치를 설정해서 표시하는 View Group.


-. List View

배열로 구성된 source를 아래로 나열하기 위한 View Group.


-. Grid View

2차원 배열로 나열하기 위한 View Group.

728x90