안드로이드 앱을 개발하기 위해서는 반드시 사용자가 확인할 화면이 필요하다, 이때 사용자 화면에 보이는 버튼부터하여 구성 요소들은 뷰(VIEW) 라고 칭하며 이 뷰는 화면내에 정렬이 필요한데 안드로이드개발을 위해 사용되는 레이아웃 몇가지를 알아보도록 하겠다.
안드로이드 레이아웃의 종류
- LinearLayout
- RelativeLayout
- FrameLayout
- TableLayout
리니어 레이아웃 ( LinearLayout )
방향을 수평 또는 수직 둘중 결정하여 배치하는 레이아웃으로써 가장 기본적으로 사용되는 레이아웃이다.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
</LinearLayout>
android:orientation="vertical" -> 요소들을 수직방향으로 배치
android:orientation="horizontal" -> 요소들을 수평방향으로 배치
Vertical 로 설정하게되면 가로방향으로 요소들을 채워 내려가는 형태가되고, Horizontal 의 경우 세로방향으로 요소를 채워 가는 형태가 되겠다, 도움이 될지는 모르겠지만 그림으로 설명하자면 위의 이미지 처럼 보면되겠다.
렐리티브 레이아웃 ( RelativeLayout )
사전적인 의미로 상대적인 이라는 의미를 담고 있는 레이아웃으로써 다른 요소들에 의해 상대적으로 위치가 결정되는 레이아웃이다, 이 레이아웃은 서로 뷰간 연결고리가 있어 위치를 결정함에 있어 서로 연결되어 위치가 결정된다고 보면 되겠다.
android:layout_toLeftOf=""
android:layout_toRightOf=""
android:layout_above=""
android:layout_below=""
left : 좌측배치
abobe : 상단배치
right : 우측배치
below : 하단배치
프레임 레이아웃 ( FrameLayout )
프레임, 액자라는 의미로 컨텐츠들이 겹겹이 쌓여 제일 앞에 놓여있는 컨텐츠가 사용자에게 보이는 형태로 구성하는 레이 아웃이다
위의 화면에서 A,B,C 의 컨텐츠가 겹쳐 있지만 가장 위에 보이는 C 컨텐츠가 가장위로 올라와 있으므로 사용자에게는 C가 보이는 형태의 레이아웃을 말한다, 특징으로는 여러개의 컨텐츠를 추가하였을 때, 조정을 별도로 하지않았을 때, 가장 마지막에 추가된 뷰가 가장 전면에 표시된다
top : 부모 레이아웃 내 상단에 위치
bottom : 부모 레이아웃 내 하단에 위치
left : 부모 레이아웃 내 좌측에 위치
right : 부모 레이아웃 내 우측에 위치
center_vertical : 세로방향 기준으로 가운데 위치
fill_vertical : 세로 방향으로 가득 채움
center_horizontal : 가로방향 기준으로 가운데 위치
fill_horizontal : 가로 방향으로 가득 채움
center : 가로/세로 방향 기준 가운데 정렬
fill : 가로/세로 방향으로 가득 채움
clip_vertical : 세로방향 기준으로 레이아웃외의 영역은 자름
clip_horizontal : 가로방향 기준으로 레이아웃외의 영역은 자름
start : 부모 레이아웃 내 시작점 위치에 정렬
end : 부모 레이아웃 내 시작점 끝점에 정렬
위치는 위와같이 조정하며, 부모 위치의 방향으로 위치를 결정한다.
테이블 레이아웃 ( TableLayout )
일반적으로 알고있는 테이블의 규칙과 같다, 행과 열로 구분하여 문서의 표 작성하는 구조와 같으며 행을추가하거나, 열을 추가하거나 하여 위젯을 넣어 화면을 구성한다.
위와같이 행과 열을 추가하여 레이아웃을 구성한다.
구성하는 예시는 아래와같다.
<TableLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<TableRow>
<TextView android:text="요소1"></TextView>
<TextView android:text="요소2"></TextView>
<TextView android:text="요소3"></TextView>
<TextView android:text="요소4"></TextView>
</TableRow>
위와같이, Tablerow를 하나 만들어 이어질 열을 나열하여 요소를 만드는 형태로 구성한다, HTML 의 Table 과 비슷한 형태를 가지며, 자주사용되지는 않는 레이아웃이다.
'안드로이드 스튜디오' 카테고리의 다른 글
안드로이드 스튜디오 온클릭 클립데이터(onClick ClipDATA) 예제소스 (0) | 2021.04.20 |
---|---|
안드로이드 스튜디오 리싸이클러뷰(RecyclerView) 예제소스 (0) | 2021.04.20 |
implementation 'com.android.support:design:28.0.0' 에러 (1) | 2021.04.13 |
안드로이드 스튜디오 drawble xml 색상 적용 안됨 (4) | 2021.04.13 |
안드로이드 란 무엇일까? (0) | 2021.04.08 |
댓글