"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."


Linear Layout에 대해 알아보자
728x90

오늘은 View 엘리먼트 중에 Linear Layout에 대해서 알아보겠습니다.
Linear Layout은 말 그대로 View 엘리먼트들을 줄 세워서 표시하는 레이아웃입니다.
예제를 통해 설명드리겠습니다.

보시기 전에 추천 부탁드릴께요.



Linear Layout (리니어 레이아웃)
LinearLayout 는 ViewGroup에 속해 있으며, View 엘리먼트들을 수직적으로나 수평적으로 일렬로 배치하는 레이아웃이다.

1. HelloLinearLayout 프로젝트를 생성해라.

2.
res/layout/main.xml 파일을 열어서 아래와 같이 추가해라.
<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   
android:orientation="vertical"
   
android:layout_width="fill_parent"
   
android:layout_height="fill_parent">
 
<LinearLayout
     
android:orientation="horizontal"
     
android:layout_width="fill_parent"
     
android:layout_height="fill_parent"
     
android:layout_weight="1">
     
<TextView
         
android:text="red"
         
android:gravity="center_horizontal"
         
android:background="#aa0000"
         
android:layout_width="wrap_content"
         
android:layout_height="fill_parent"
         
android:layout_weight="1"/>
     
<TextView
         
android:text="green"
         
android:gravity="center_horizontal"
         
android:background="#00aa00"
         
android:layout_width="wrap_content"
         
android:layout_height="fill_parent"
         
android:layout_weight="1"/>
     
<TextView
         
android:text="blue"
         
android:gravity="center_horizontal"
         
android:background="#0000aa"
         
android:layout_width="wrap_content"
         
android:layout_height="fill_parent"
         
android:layout_weight="1"/>
     
<TextView
         
android:text="yellow"
         
android:gravity="center_horizontal"
         
android:background="#aaaa00"
         
android:layout_width="wrap_content"
         
android:layout_height="fill_parent"
         
android:layout_weight="1"/>
 
</LinearLayout>

 
<LinearLayout
   
android:orientation="vertical"
   
android:layout_width="fill_parent"
   
android:layout_height="fill_parent"
   
android:layout_weight="1">
   
<TextView
       
android:text="row one"
       
android:textSize="15pt"
       
android:layout_width="fill_parent"
       
android:layout_height="wrap_content"
       
android:layout_weight="1"/>
   
<TextView
       
android:text="row two"
       
android:textSize="15pt"
       
android:layout_width="fill_parent"
       
android:layout_height="wrap_content"
       
android:layout_weight="1"/>
   
<TextView
       
android:text="row three"
       
android:textSize="15pt"
       
android:layout_width="fill_parent"
       
android:layout_height="wrap_content"
       
android:layout_weight="1"/>
   
<TextView
       
android:text="row four"
       
android:textSize="15pt"
       
android:layout_width="fill_parent"
       
android:layout_height="wrap_content"
       
android:layout_weight="1"/>
 
</LinearLayout>
</LinearLayout>
최상위 LinearLayout은 레이아웃안에 속한 차일드 뷰를 수직으로 차례로 배치하는 속성으로 생성되었기 때문에 차일드들이 수직으로 배치된다. 첫번째 차일드는 수평적 배치 속성을 갖고 있는 LinearLayout이고, 두번째 차일드는 수직적 속성을 갖고 있는 LinearLayout이다. 각 LinearLayout은 몇개의 TextView 엘리먼트를 갖고 있다. 이들은 각 LinearLayout의 배치 속성에 따라 각각 배치된다.

3. HelloLinearLayout.java 파일을 열어 onCreate() 메소드에서 res/layout/main.xml 를 로딩하도록 한다. 다음과 같이 수정한다.
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
}
setContentView(int) 메소드는 액티비티에서 사용할 레이아웃을 로딩하는 기능을 수행한다. 인자로는 리소스 ID를 요구한다.

4. 어플리케이션을 실행하면 아래와 같은 화면을 볼 수 있다.

각각의 뷰 속성에 따라서 화면에 배치되는 뷰의 모습이 틀리기 때문에 android:layout_weight 속성을 바꾸어 가면서 화면이 어떻게 바뀌는지 확인해 보아라. Common Layout Objects 문서를 보면 LinearLayout이 android:layout_weight 속성을 어떻게 다루는지에 대한 정보를 얻을 수 있다.


Reference
LinearLayout
TextView

* 본 포스팅은 안드로이드 개발자 사이트의 여기를 번역한 글입니다.

도움이 되셨다면 아래의 추천 버튼을 꾸욱 눌러주세요.

728x90
728x90
LIST