android

#재밌는 안드로이드 1.레이아웃 1부

sieunju 2016. 7. 3. 02:47
반응형

안녕하세요 j.sieun 입니다. 

이번글에는 안드로이드 레이아웃에 대해서 설명해 드릴려고 합니다. 

(저는 안드로이드 스튜디오를 사용하고 있음을 알려드립니다. 이클립스에서 와는 소스가 약간의 차이가 있을수 있습니다. )

안드로이드에서 제공하는 레이아웃은

1.FrameLayout

2.LinearLayout

3.TableLayout

4.GridLayout

5.RelativeLayout 

이렇게 있습니다. 


1.FrameLayout 이란,

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

예시로는 기존에 있던 뷰위에 다른 뷰를 덮어씌우고싶을 사용합니다. 

그리고 그 덮어씌운 뷰를 없애고 싶을때는 자바 소스에서 View.setVisibilty("GONE"); 를 입력하시면 사라지게 됩니다. 


2.LinearLayout 이란,

뷰가 가로 또는 세로로 나열되서 보이는 레이아웃을 말합니다. (이클립스에서 사용되는 LinearLayout 과 동일합니다.)


3.TableLayout 이란,

테이블 형식으로 보이는 레이아웃을 말합니다. 


4. Gridlayout은 이란,

스크롤이 가능한 컨테이너 화면 영역 밖으로 넘어갈때 그것들을 제어해주는 레이아웃


5.RelativeLayout 이란,


따로 위치를 지정하지 않으면 뷰가 0.0 위치에 계속 쌓이는 레이아웃을 말합니다. 한마디로 

<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello Android!"
/>

</RelativeLayout>

<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello J.sieun!"
/>

</RelativeLayout>

이런식으로 지정해두면 마진값고 죄표값을 지정안해주면 "Hello Android!" 와 " Hello J.sieun " 

겹치게 나옵니다. 


레이아웃들의 기본적인 속성

1. orientation 뷰의 방향을 설정 

ex) LinearLayout 안에 

android:orientation="vertical"

이걸 입력하면 LinearLayout 은 수직으로 쌓여진다. 입니다. 

2.gravity 뷰의 정렬방향 설정

ex)

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
>

</RelativeLayout>

이런식으로 두면 width 값은 전체 넓이로 되어서 가로 화면 전체에서 수평 중앙에 위치하도록 한다 라는 뜻이 되겠습니다. 

gravity안에 메소드는 대표적으로

가로 가운데로 위치하고싶을때, center_horizontal

세로 가운데로 위치하고싶을떄, center_vertical 

오른쪽 right, 왼쪽 left , 아래 bottom , 위 top 

가 되겠습니다. 


3.padding 과 margin 


이렇게 보시면 이해가 충분히 되실거 같습니다. 


간단히 레이아웃에 대해 이론을 설명해보았습니다. 


다음 글에는 레이아웃 하나하나에 설명을 드리도록 하겠습니다. 


감사합니다. 



반응형