Development/JAVA

Layout

Ahn Paul 2020. 4. 8. 11:14

 

RelativeLayout

영어 이름 그대로 상대적인 위치에 의해서 View들을 배치할 수 있는 레이아웃이다.

android:layout_centerInParent 부모 컨테이너의 수평과 수직 방향 중앙에 배치한다.
android:layout_alignParentBottom 뷰를 부모 컨테이너 아래에 배치한다.
* android:layout_alignParentTop 뷰를 부모 컨테이너 위에 배치한다.

andriod:layout_above @id를 사용하여 뷰를 배치한다.     위
* andorid:layout_below @id를 사용하여 뷰를 배치한다.  아래 

즉, android:layout_parent 관련은 부모 뷰와의 레이아웃 관계
      android:layout_above, below 등은 뷰들과의 레이아웃 관계


TableLayout

TableLayout에는 TableRow가 존재한다.

TableRow에 뷰들을 배치하여 사용하는 방식이다.
쉽게 말하면 엑셀의 셀에 뷰들을 배치하여 사용하는 방식이라고 할 수 있다.

android:layout_span 여러 열에 걸쳐 뷰를 보이게 할 수 있다.
android:strechColumns 남아있는 폭을 모두 채우도록 하기 위한 속성.
android:layout_column="" 몇 번째 행에 Column에 들어가게 할 것인지에 관한 속성.


FrameLayout

가장 기초적이고 단순한 Layout이라고 할 수 있다.

따라서, 여러가지 뷰를 사용을 하기 위해 각각의 뷰들을 중첩하여 사용한다. 이때 가장 먼저 추가한 뷰는 가장 아래에 가장 나중에 추가한 뷰는 가장 위에 배치된다. 마치 스택과 같이 말이다.

이로 인하여 맨 위에 있는 뷰의 Visibility의 값을 낮게 설정하면 그 아래 있는 뷰가 보이게 되는 것이다.

FrameLayout에서 기본적으로 제공해 주는 addView(), removeView()가 있다. 미리 정의된 두 메소드를 통하여 쉽게 보이지 않게 remove 하거나 add 할 수 있다.


 

'Development > JAVA' 카테고리의 다른 글

Widget  (0) 2020.04.08