IT recording...
[Android] layout_weight 사용하여 정렬하기 본문
안드로이드 스튜디오를 처음 사용하고 레이아웃 정렬하는 일이 쉽지 않았다.
xml 파일에서 code를 작성하여 아이템들을 정렬하는 데 layout_weight 를 사용하면 편하다는 것을 알게 되어 글을 작성한다.
layout_weight는 부모의 width 또는 height를 자식들이 비율에 따라 나누어 가지는 것을 말한다.
사용법
1. 자식의 width / height 중 비율로 나누어 가질 애를 0dp 로 설정한다. 2. 자식에 android:layout_weight="여기 비율 넣기"로 비율 설정하면 끝이다. |
아 부모의 width height는 그냥 주고 싶은 만큼으로 설정하면 된다. weight는 넣을 필요 없고
match하고싶으면 하고 50dp주고싶으면 주고 마음대로
예를 들어) 모든 자식의 weight를 android:layout_weight="1" 로 설정했다면 다 같은 비율을 가질 것이고
한 자식을 "2"로 했다면 얘는 더 큰 비율을 가질 것이다.
코드를 통해 확인해보자
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:layout_height="60dp"
android:layout_width="match_parent"
android:orientation="horizontal"
android:padding="10dp"
android:background="@drawable/round_style"
>
<LinearLayout
android:layout_width="0dp"
android:layout_weight="0.2"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/textView_empty"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:text="남은 자리 수"
android:textStyle="bold"
android:gravity="center"
android:paddingBottom="5dp"
android:textSize="16sp"/>
<TextView
android:id="@+id/textView_current"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="0.7"
android:text="현재자리/전체"
android:textSize="11sp"
android:gravity="center"/>
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_marginLeft="3dp"
android:background="@drawable/left_stroke">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<TextView
android:id="@+id/textView_name"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="과목이름"
android:gravity="center"
android:textSize="13sp"
/>
<TextView
android:id="@+id/textView_professor"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/left_stroke"
android:text="교수님"
android:textSize="11sp"
android:gravity="center"
/>
</LinearLayout>
<TextView
android:id="@+id/textView_time"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:text="시간"
android:paddingTop="3.5dp"
android:gravity="center"
android:textSize="11sp"
/>
</LinearLayout>
<TextView
android:id="@+id/textView_number"
android:layout_width="0dp"
android:layout_weight="0.2"
android:layout_height="match_parent"
android:paddingLeft="3dp"
android:text="과목번호"
android:gravity="center"
android:background="@drawable/left_stroke"/>
</LinearLayout>
'Android' 카테고리의 다른 글
[안드로이드] AndroidStudio & Git연동 (git 터미널 사용법, gitHub 연동, gitLab연동, SSH) (0) | 2020.09.07 |
---|---|
[Android] missing constraints in constraintlayout 에러, 오류 (0) | 2020.08.16 |
[Android] 특정 요소만 테두리 주기,테두리 둥글게, 요소 스타일 각기 다르게 (0) | 2020.08.16 |
[Android] RecyclerView 사용하기 (0) | 2020.08.16 |
[Android] 복잡한 부분은 AsyncTask 이용하여 클래스 따로 만들어서 하기 (0) | 2020.08.16 |
Comments