250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- Coroutines
- android
- 테스트
- data
- 계측
- activity
- Navigation
- Dialog
- binding
- textfield
- tabbar
- Compose
- intent
- textview
- viewmodel
- Button
- ScrollView
- TEST
- 앱바
- 안드로이드
- CustomScrollView
- DART
- 앱
- LifeCycle
- scroll
- Flutter
- livedata
- Kotlin
- appbar
- drift
Archives
- Today
- Total
Study Record
[안드로이드] LinearLayout 살펴보기 본문
728x90
😶 LinearLayout
LinearLayout 은 ViewGroup 에 속하며 세로 또는 가로 단일 방향으로 모든 하위 요소를 정렬한다.
필수적으로 android:orientation 속성이 필요하며 horizontal 이면 가로 방향으로, vertical 이면 세로 방향으로 하위 요소를 정렬할 수 있다.
😶 레이아웃 가중치
LinearLayout 의 하위 요소의 android:layout_weight 속성으로 개별 하위 요소에 가중치를 할당할 수 있다. LinearLayout 의 남은 모든 공간이 선언된 하위 요소의 가중치 비율에 따라 하위 요소의 크기가 할당된다. 기본 가중치는 0이다.
가중치를 이용하면 하위 요소의 모든 가중치를 1 로 설정하면 균등 분포가 가능하다. 또한, 가중치를 가지지 않는 하위 요소가 있다면 그 요소의 크기는 별도로 차지하며 남은 ViewGroup 공간에서 가중치를 갖는 하위 요소끼리 비율에 따라 공간을 나눠 갖는다.
orientation = horizontal 일 경우, 세로 방향의 레이아웃일 경우 높이의 크기를 할당받으므로 하위 요소의 android:layout_height 를 "0dp" 로 한다.
orizentation = vertical 일 경우, 가로 방향의 레이아웃일 경우 너비의 크기를 할당받으므로 하위 요소의 android:layout_width 를 "0dp" 로 한다.
🙂 예시) vertical 의 1 : 2 : 1 의 하위요소 가중치를 가질 경우
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:orientation="vertical"
android:gravity="center"
tools:context=".MainActivity">
<View
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="#FFF3F3F3"/>
<View
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="2"
android:background="#FF535353"/>
<View
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="#FF23F3F3"/>
</LinearLayout>
728x90
'안드로이드' 카테고리의 다른 글
[안드로이드] style 과 theme (0) | 2023.06.15 |
---|---|
[안드로이드] ScrollView 살펴보기 (+ NestedScrollView) (0) | 2023.06.15 |
[안드로이드] style 지정하기 (TextView) (0) | 2023.06.15 |
[안드로이드] 앱 이름과 아이콘 바꾸기 (0) | 2023.06.14 |
[안드로이드] ImageView 사용하기, coil 라이브러리(웹 URL로 이미지 로딩) (0) | 2023.06.14 |