자바 어플 개발/기초

FrameLayout

appmaster 2019. 7. 11. 12:27

화면을 겹치게 하고 싶을때 사용한다.

 

 

- 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