화면을 겹치게 하고 싶을때 사용한다.
- Gravity속성을 이용하여 자식컴포넌트를 이동시킬 수 있다.
- Left | top
- center_horizental | top
- Right | bottom
LinearLayout은 FrameLayout의 자식레이아웃이 될 수 있다.
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/colorAccent">
    </LinearLayout>
    <LinearLayout
        android:layout_width="300dp"
        android:layout_height="300dp"
        android:background="@color/colorPrimaryDark">
    </LinearLayout>
    <LinearLayout
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:background="@color/colorPrimary">
    </LinearLayout>
    
</FrameLayout>
소스코드를 보면 알 수 있듯이, 가장먼저 선언된 Layout이 가장밑으로 배치하게 된다.
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">
    
    <TextView
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_gravity="left|top"
        android:background="@color/colorPrimaryDark" />
    
    <TextView
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_gravity="top|center_horizontal"
        android:background="@color/colorPrimaryDark" />
    
    <TextView
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_gravity="right|top"
        android:background="@color/colorPrimaryDark"/>
    
    <TextView
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_gravity="center_vertical|left"
        android:background="@color/colorPrimaryDark"/>
    
    <TextView
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_gravity="center"
        android:background="@color/colorPrimaryDark"/>
    
    
    <TextView
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_gravity="center_vertical|right"
        android:background="@color/colorPrimaryDark"/>
    
    <TextView
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_gravity="bottom|left"
        android:background="@color/colorPrimaryDark"/>
    
    <TextView
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_gravity="bottom|center_horizontal"
        android:background="@color/colorPrimaryDark"/>
    
    <TextView
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_gravity="bottom|right"
        android:background="@color/colorPrimaryDark"/>
    
    
</FrameLayout>
이것은 gravity를 이용해서 TextView의 위치를 조정한 것이다.
'자바 어플 개발 > 기초' 카테고리의 다른 글
| 강사와 나의 문제풀이 차이점 (0) | 2019.07.12 | 
|---|---|
| ScrollView (0) | 2019.07.11 | 
| RelativeLayout (0) | 2019.07.11 | 
| View의 계층구조 (0) | 2019.07.11 | 
| LinearLayout (0) | 2019.07.11 |