=> 화면을 구성하려면 무엇을 부모 레이아웃으로 정할지를 생각해야 한다.
=> 자식 요소들을 담아내기 위한 요소는 두가지 Relative Layout, Linear Layout이 있다.
:레이아웃 안에 레이아웃이 중첩될수가 있다.
1. Linear Layout
=> View를 수평 또는 수직 방향으로 배치할 수 있는 레이아웃이다.
1) android :orientation="vertical" : 하위 뷰들을 수직방향으로 배치한다
2) android : orientation ="horizontal" : 하위 뷰들을 수평방향으로 배치한다.
=> Linear는 각 요소간의 관계를 적용하지 않고, Relative Layout의 속성들이 적용되지 않는다.
+) layout_weight 속성을 통해 weightSum 만큼 화면을 등분하여 각 요소들이 설정값만큼 위치가 이동하게 된다.
<?xml version="1.0" encoding="utf-8"?>
<!--가장 바깥에 싸는 요소는 무엇인지-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:weightSum="9"
xmlns:android="http://schemas.android.com/apk/res/android">
<!--weightSum은 전체를 9등분하였을때 각 요소의 위치가 어디에 할당되는지에 대한 합이다.-->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="1"
android:textSize="20sp"
android:layout_weight="3"
/>
<!--weigth를 지정해줌으로써 화면을 9등분해서 각 요소가 얼마만큼 차지할지를 결정한다.-->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="2"
android:textSize="20sp"
android:layout_weight="3"
/>
<TextView
android:text="3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20sp"
android:layout_weight="3"
/>
</LinearLayout>
2. RelativeLayout
=> 자식 뷰 또는 부모 뷰 간의 관계에 따라 배치를 적용하는 레이아웃이다.
: 서로간의 관계를 정하려면 기준점이 되는 요소가 필요하다.
=> 2번 요소를 기준점 요소로 잡고 나머지 요소의 속성을 적용시켰다.
<?xml version="1.0" encoding="utf-8"?>
<!--가장 바깥에 싸는 요소는 무엇인지-->
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="1"
android:textSize="20sp"
android:layout_above="@id/TextView_2"
android:layout_centerHorizontal="true"
/>
<!--id로 누군가의 왼쪽,오른쪽 위치를 지정한 다음에는
vertical로 세로 위치를 결정해준다.-->
<TextView
android:id="@+id/TextView_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="2"
android:textSize="20sp"
android:layout_centerInParent="true"/>
<TextView
android:text="3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/TextView_2"
android:textSize="20sp"
android:layout_centerHorizontal="true"
/>
</RelativeLayout>
+) 참고
lktprogrammer.tistory.com/133?category=741470
'App > Android' 카테고리의 다른 글
RecyclerView로 목록 만들기 (0) | 2021.01.22 |
---|---|
안드로이드 스튜디오 블루투스 프로그래밍 (1) | 2021.01.19 |
[Android Studio] button을 LinearLayout으로 대체 (0) | 2021.01.15 |
[Android Studio] 로그인 창 레이아웃 만들기 (0) | 2021.01.15 |