본문 바로가기

프로그래밍/안드로이드

[안드로이드/Android] 안드로이드 레이아웃 FrameLayout

레이아웃            

LinearLayout 

RelativeLayout         

FrameLayout             ☜ 현재 보는 곳

TableLayout           


안드로이드 FrameLayout


java.lang.Object

  └─ android.view.View

└─android.view.ViewGroup

└─android.widget.FrameLayout

위의 그림에서 보시는것 처럼  RelativeLayout 은 View와 ViewGroup를 상속받고 있습니다.

( 혹시 VIew와 ViewGroup에 대해 궁금하신분은 [ View강의 보기 ] 를 클릭해 주세요. )


그러하니 여러분들은 

"아 View를 상속받았으니 화면에 보여질수 있겠구나!" 

"아~ ViewGroup를 상속받았으니 다른 View를 포함할 수 있겠구나!" 


이런 생각을 하시면 됩니다.

 

FrameLayout란

하나의 화면안에 여러개의 화면을 좌측 상단을 기준으로 블럭을 쌓듯이 포개는 방법으로 디자인된 레이아웃.


굉장히 간단한 형태이지만 자세히 살펴보면 굉장히 유용한 레이아웃 입니다.

이녀석은 주로 두개의 화면을 붙여 놓고 필요에 따라서 스위칭 할때 주로 사용합니다.

마치 윈도우 프로그램의 탭 과 같다고 생각하시면 됩니다.

실제로 이녀석은 안드로이드 탭에서 사용이 됩니다.


레퍼런스에 나와 있는 XML 속성을 살펴 보겠습니다.

android:foreground

content위에 그려질 이미지를 정의 합니다. 이녀석은 겹쳐지기도 합니다.


android:foregroundGravity

앞에 그려지는 이미지의 배치 방법을 정의 합니다. 기본은 fill 입니다.여러가지 상수를 이용하여 하나 또는 더 많은 이미지를 배치할 수 있습니다.


android:measureAllChildren

모든 하위뷰(자식뷰)의 크기를 다 측정할 것인지 아니면 보여지거나(VISIBLE), 숨겨진(INVISIBLE) 뷰들의 크기만 적용할 것인지 정합니다.

기본값은 false이며 GONE된 것은 측정하지 않습니다.

참조 : http://developer.android.com/reference/android/widget/FrameLayout.html


그럼 샘플 예제를 보도록 하겠습니다.


FrameLayoutTestActivity.java

 package com.tistory.jwandroid.framelayuot;

 import android.app.Activity;
 import android.os.Bundle;

 public class FrameLayoutTestActivity extends Activity {
     @Override
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.main);
     }

 }


main.xml

<?xml version="1.0" encoding="utf-8"?>

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <EditText
        android:id="@+id/et01"
        android:layout_width="200dip"
        android:layout_height="200dip"
        android:hint="기본값 초보플밍" />
   
    <Button
        android:id="@+id/btn01"
        android:layout_width="150dip"
        android:layout_height="150dip"
        android:text="초보플밍 버튼" />

    <TextView
        android:id="@+id/et02"
        android:layout_width="100dip"
        android:layout_height="100dip"

 android:text="초보플밍 텍스트뷰" />

</FrameLayout>



간단히 한번 나타내 보았습니다. 궁금하신 건 댓글로 달아 주세요.

 

레이아웃            

LinearLayout 

RelativeLayout         

FrameLayout                 ☜ 현재 보는 곳

TableLayout           

 

덧글]

개발하시다가 온몸이 찌뿌둥하시면 아래 동영상을 따라 스트레칭을 한번하세요.


1. 목디스크 예방을 위한 목운동    ☞  http://jwandroid.tistory.com/192 

2. 손목터널증후군 손목스트레칭으로 예방합시다.     ☞  http://jwandroid.tistory.com/193

3. 개발자 여러분 허리를 세우세요 - 척추체조 1번     ☞  http://jwandroid.tistory.com/194

4. 개발자 여러분 허리를 세우세요 - 척추체조 2번     ☞  http://jwandroid.tistory.com/195

5. 개발자 여러분 허리를 세우세요 - 척추체조 3번     ☞   http://jwandroid.tistory.com/196

6. 개발자 여러분 허리를 세우세요 - 척추체조 4번     ☞  http://jwandroid.tistory.com/197