APP

안드로이드(Android) 선형레이아웃(LinearLayout) 이중배치, 테이블레이아웃처럼 사용하기

isaac.kim 2020. 4. 23. 15:16
728x90
반응형

안드로이드(Android) 선형레이아웃(LinearLayout) 이중배치, 테이블레이아웃처럼 사용하기

안드로이드(Android)에서 선형레이아웃(LinearLayout)을 공부하면서 처음에는 수평적(Horizontal)으로 배치, 수직적(Vertical)으로 배치하는 것만 생각했었습니다.

 

테이블과 비슷하게 생각해보면,

메인이 되는 선형레이아웃(LinearLayout)을 Table로 생각하고 수직적(Vertical)배치로 두고, 그 안에 또 선형레이아웃을 수평적(Horizontal)으로 배치하면 테이블처럼 사용할 수 있습니다.

 

메인이 되는 선형레이아웃이 Row가 되고, 그 안에 수평적 배치를 하는 것이 하나의 셀로 사용하는 것과 비슷합니다.같습니다.

 

이런 모양의 간단한 앱이 있다고 할 때, 가로와 세로로 배치하고 있습니다.

코드는 다음과 같습니다.

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

    <!-- 첫 라인 -->
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Number 1"
            android:textSize="10pt"
            android:textStyle="bold"/>
        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:inputType="number" />
    </LinearLayout>
    <!-- 두번째 라인 -->
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Number 2"
            android:textSize="10pt"
            android:textStyle="bold"/>
        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:inputType="number" />
    </LinearLayout>

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="+" />
    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="-" />
    <Button
        android:id="@+id/button3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="*" />
    <Button
        android:id="@+id/button4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="/" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Result"
            android:textSize="10pt"
            android:textStyle="bold"/>
        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:inputType="number" />
    </LinearLayout>



</LinearLayout>

 

linear1.xml
0.00MB

 

이를 응용하여 테이블처럼 만들어보도록 하겠습니다.

 

 

위에서 응용했던바와 같이 선형레이아웃(LinearLayout) 안에 선형레이아웃(LinearLayout)이 있는 방식입니다.

728x90
반응형