레이아웃 종류






대략 LinearLayout,RelativeLayout,ConstraintLayout,GridLayout,FrameLayout,ScrollView, 등등이 있다





LinearLayout

<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:baselineAligned="true"><!--글자 아랫부분 맞춰서 정렬-->
<!--
orientation = 뷰의 추가하는 뱡향을 설정
android:layout_gravity="부모 컨테이너의 여유공간에 뷰가 모두 채워지지 않아 여유공간안에 뷰를 정렬할떄"
(view layout_width layout_height속성을 wrap_content로 할경우 사용됨)
android:gravity="뷰에서 화면에 표시하는 내용물을 정렬할때"
weight = 뷰가 차지하는 공간의 가중치 값을 설정
-->


ReleativeLayout

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<!--
//기준점(parent)
layout_alignParentTop = 부모 컨테이너의 위쪽과 뷰의 위쪽을 맞춤
layout _alignParentBottom = 부모 컨테이너의 아래쪽과 뷰의 아래쪽을 맞춤
layout_alignParentLeft = 부모 컨테이너의 왼쪽 끝과 뷰의 왼쪽 끝을 맞춤
layout_alignParentRight = 부모 컨테이너의 오른쪽 끝과 뷰의 오른쪽 끝을 맞춤
layout_centerHorizontal = 부모 컨테이너의 수평 방향 중앙에 배치함
layout_centerVerticalVertical = 부모 컨테이너의 수직 방향 중앙에 배치함
layout_centerInParent = 부모 컨테이너의 수평과 수직 방향 중앙에 배치함

//기준점을 기준으로 배치
layout_above = 지정한 뷰의 위쪽에 배치함
layout_below = 지정한 뷰의 아래쪽에 배치함
layout_toLeftOf = 지정한 뷰의 왼쪽에 배치함
layout_toRightOf =지정한 뷰의 오른쪽에 배치함

//정렬
layout_alignTop = 지정한 뷰의 위쪽과 맞춤
layout_alignBottom = 지정한 뷰의 아래쪽과 맞춤
layout_alignLeft = 지정한 뷰의 왼쪽과 맞춤
layout_alignRight = 지정한 뷰의 오른쪽과 맞춤
layout_alignBaseLine = 지정한 뷰의 내용물의 아래쪽 기준선(baseline)을 맞춤
-->

<TextView
android:text="오예"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/parent_center_btn"
android:layout_alignRight="@id/parent_center_btn"/>

<TextView
android:text="오예"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/parent_center_btn"
android:layout_alignLeft="@id/parent_center_btn" />

<TextView
android:text="오예"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/parent_center_btn"
android:layout_alignBottom="@+id/parent_center_btn"/>

<TextView
android:text="오예"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toLeftOf="@+id/parent_center_btn"
android:layout_alignTop="@id/parent_center_btn"
android:layout_alignBaseline="@id/parent_center_btn"/>

<Button
android:id="@+id/parent_center_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"/>

<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"/>
</RelativeLayout>





ConstraintLayout

<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<!--나의 00부분을 지정한 id 00부분에 붙이겠다 -->
<Button
android:id="@+id/btn1"
android:text="버튼1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintRight_toLeftOf="parent"
app:layout_constraintLeft_toRightOf="parent"
app:layout_constraintBottom_toTopOf="parent"
app:layout_constraintTop_toBottomOf="parent"/>
<Button
android:id="@+id/btn2"
android:text="버튼2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintTop_toBottomOf="@id/btn1"
app:layout_constraintRight_toLeftOf="parent"
app:layout_constraintLeft_toRightOf="parent"/>
<!--나의 top부분을 지정한 id bottom부분에 붙이겠다 -->
<Button
android:text="버튼3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintLeft_toRightOf="@id/btn1"
app:layout_constraintBottom_toTopOf="parent"
app:layout_constraintTop_toBottomOf="parent"
android:layout_marginLeft="20dp" /><!--자식에게만 마진이 먹힌다-->
<Button
android:text="버튼4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintRight_toLeftOf="parent"
app:layout_constraintLeft_toRightOf="parent"
app:layout_constraintHorizontal_bias="0.3"/><!--30%정도 더 안쪽으로 1 max-->

<Button
android:id="@+id/btn5"
android:text="버튼5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toTopOf="parent"
android:visibility="gone"/>

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintLeft_toRightOf="@id/btn5"
app:layout_constraintBottom_toTopOf="parent"
app:layout_goneMarginLeft="60dp"/><!--부모가 gone(완전사라질때) 이 될때 마진값 주기-->

<android.support.constraint.Guideline
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/guideline"
app:layout_constraintGuide_percent="0.3"
android:orientation="horizontal"/>
<!--app:layout_constraintGuide_begin or layout_constraintGuide_percent 택해서 사용-->

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintTop_toBottomOf="@id/guideline"/>

<!--
layout_constraintLeft_toLeftOf = 나의 left부분을 지정한 id left부분에 붙이겠다
layout_constraintLeft_toRightOf = 나의 left부분을 지정한 id right부분에 붙이겠다
layout_constraintRight_toLeftOf = 나의 right부분을 지정한 id left부분에 붙이겠다
layout_constraintRight_toRightOf = 나의 right부분을 지정한 id right부분에 붙이겠다
layout_constraintTop_toTopOf = 나의 top부분을 지정한 id top부분에 붙이겠다
layout_constraintTop_toBottomOf = 나의 top부분을 지정한 id bottom부분에 붙이겠다
layout_constraintBottom_toTopOf = 나의 bottom부분을 지정한 id top부분에 붙이겠다
layout_constraintBottom_toBottomOf = 나의 bottom부분을 지정한 id bottom부분에 붙이겠다
layout_constraintBaseline_toBaselineOf = 나의 baseline부분을 지정한 id baseline부분에 붙이겠다
baseline=컨텐츠안의 text 아래 끝라인
-->
</android.support.constraint.ConstraintLayout>




나머지는 필요할때 추후 업데이트 


참고:t아카데미





반응형

'android > study' 카테고리의 다른 글

toolbar  (0) 2022.01.24
basicwidget  (0) 2018.04.08

+ Recent posts