-
1.[Android]LinearLayout (orientation / gravity)Android 2019. 8. 3. 22:00반응형

LinearLayout은 뷰를 단일 열에 가로로 정렬하거나 한 행에 세로로 정렬하는 레이아웃입니다.
orientation 속성으로 속성 값을 정해주지 않을 경우 기본 속성이 horizontal로 설정되어있습니다.
주로 설정 화면이나 회원가입 화면 같이 정렬을 해서 만들어야 하는 UI에 주로 사용됩니다.
-
orientation
orientation 속성은 자기 아래에 있는 View들이 나열되는 방향을 지정하는 속성입니다.
android:orientation="horizontal" < 단일 열에 가로로 정렬 >
android:orientation="vertical" < 한 행에 세로로 정렬 >


vertical / horizontal -
gravity
gravity는 두 가지가 있습니다.
layout_gravity : 자기 자신이 포함된 부모 레이아웃에서 값에 따라 정렬됩니다.
앞에 layout이 붙으면 부모 레이아웃과 연관이 된다 생각하면 쉽습니다.
gravity : 앞에 layout이 안 붙어 있기 때문에 자기 뷰안에 있는 값을 정렬합니다.
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#bbb" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="text1" android:textSize="40dp" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="text2" android:textSize="40dp" /> </LinearLayout> </LinearLayout>
gravity 값을 적용 안했을때 <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#bbb" android:layout_gravity="center" >이렇게 layout_gravity에 center 속성 값을 넣어 보겠습니다.

TextView가 속해있는 레이아웃이 부모 레이아웃에 가운데에 정렬된 것을 볼 수 있습니다.
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#bbb" android:gravity="center" >layout_gravity가 아닌 gravity에 center 속성 값을 넣어 보겠습니다.

layout_gravity는 TextView가 속해있는 레이아웃이 부모 레이아웃 가운데로 정렬됐었지만
gravity를 넣은 레이아웃은 자기 뷰안에 있는 TextView 들을 가운데 정렬시킨 것을 볼 수 있습니다.
layout_gravity 과 gravity의 속성 값들은 아래와 같습니다.
bottom 해당 위젯을 하단에 위치 시킵니다. 사이즈 변화 x center 해당 위젯을 정중앙에 위치 시킵니다. 사이즈 변화 x center_horizontal 해당 위젯을 가로 중앙에 위치 시킵니다. 사이즈 변화 x center_vertical 해당 위젯을 세로 중앙에 위치 시킵니다. 사이즈 변화 x clip_horizontal 해당 위젯의 가로 길이가 부모 뷰보다 크면 넘어간 부분은 잘라냅니다. clip_vertical 해당 위젯의 세로 길이가 부모 뷰보다 크면 넘어간 부분은 잘라냅니다. end 해당 위젯을 부모 뷰 마지막에 위치 시킵니다. 사이즈 변화 x fill 해당 위젯의 가로 세로 크기를 부모 뷰 크기에 맞춰서 늘린 다음 채워줍니다. fill_horizontal 해당 위젯의 가로 크기를 부모 뷰 크기에 맞춰서 늘린 다음 채워줍니다. fill_vertical 해당 위젯의 세로 크기를 부모 뷰 크기에 맞춰서 늘린 다음 채워줍니다. left 해당 위젯을 왼쪽에 위치 시킵니다. 사이즈 변화 x right 해당 위젯을 오른쪽에 위치 시킵니다. 사이즈 변화 x start 해당 위젯을 부모 뷰 시작점에 위치 시킵니다. 사이즈 변화 x top 해당 위젯을 상단에 위치 시킵니다. 사이즈 변화 x 반응형'Android' 카테고리의 다른 글
6.[Android]EditText ( hint / inputType ) (0) 2019.08.08 5.[Android]EditView ( imeOptions ) (0) 2019.08.07 4.[Android]TextView ( ellipsize / lines / lineSpacingExtra ) (0) 2019.08.07 3.[Android]TextView ( drawable ) (0) 2019.08.06 2.[Android]LinearLayout ( margin / padding ) (0) 2019.08.05 -