일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 믹스커피추천
- 윤석열
- 레시피 파밍
- 홈플러스
- 홈플러스 시그니처 모카골드믹스커피
- 유광버섯 통조림
- 시그니처
- 원스휴먼 스타크롬
- 커피추천
- 국방부
- 2차계엄
- 일론머스크
- 계엄령
- 1203계엄령
- 믹스커피
- 원스휴먼 먹이
- 원스휴먼 레시피 파밍
- 원스휴먼 사료
- 원스휴먼 황금양
- 원스휴먼 동물
- 원스휴먼 레시피
- 2차 비상계엄
- 원스휴먼 요리
- 계엄령 외신반응
- 원스휴먼 황금양털파밍
- 원스휴먼 쿠폰
- 비상계엄령
- 원달러환율
- 원스휴먼 황금양 구하기
- Today
- Total
0101011001010111
3-2 Android UI - Layout _Constraint Layout_예제풀어보기 본문
이 예제를 풀 때,
아래 버튼 3개 AAA,BBB,CCC가 1:1:1 배율로
나란히 하는것에서 조금 헤맸다.
헤맸던 이유 중 첫 번째,
app:layout_constraintHorizontal_weight값을 줄 때에,
android:layout_width="0dp"가 되어야 하는 이유가 이해가 안되어서 공부해 보았다.
app:layout_constraintHorizontal_weight 속성을 사용하려면
대상 뷰의 android:layout_width 속성을 0dp로 설정해야 합니다.
여기서 0dp는 ConstraintLayout에서 "MATCH_CONSTRAINT"로 해석되며,
이것은 뷰가 사용 가능한 공간 내에서 조절될 수 있음을 나타냅니다.
ㄴ 여기서 MATCH_CONSTRAINT는 배웠 듯, 해당 크기에 맞게~ 설정 이런의미이다.
app:layout_constraintHorizontal_weight를 사용하는 주된 이유는 뷰들 사이에 비율을 지정하려는 경우입니다.
뷰의 너비를 0dp로 설정하면 ConstraintLayout은 해당 뷰를 사용 가능한 최대 크기로 확장하려고 시도합니다.
그런 다음 app:layout_constraintHorizontal_weight 속성은 사용 가능한 공간을 뷰들 사이에 어떻게 분배할지를 결정합니다.
예시 ▼
- 두 개의 뷰가 있고, 둘 다 android:layout_width="0dp"로 설정되어 있습니다.
- 첫 번째 뷰의 app:layout_constraintHorizontal_weight는 1이며, 두 번째 뷰의 app:layout_constraintHorizontal_weight는 2입니다.
- 이 경우 두 번째 뷰는 첫 번째 뷰의 두 배의 너비를 차지하게 됩니다.
이 방식을 사용하면 디바이스의 화면 크기나 방향에 관계없이 일정한 비율로 뷰들을 배치할 수 있습니다.
요약하면, android:layout_width="0dp"는 뷰가 사용 가능한 최대 너비로 확장되도록 지시하는 것이고, app:layout_constraintHorizontal_weight는 그 사용 가능한 공간을 어떻게 분배할지를 결정하는 것입니다.
헤맸던 이유 중 두 번째,
app:layout_constraintStart_toEndOf="@id/btnA"
app:layout_constraintEnd_toStartOf="@+id/btnC"
app:layout_constraintTop_toBottomOf="@+id/button3"
app:layout_constraintHorizontal_weight="1"
여기서 Start_toEnd 뭐 이런게 나오는데
이 구조가 무엇인지 알지 못하였다.
해당부분은 공부하여
https://vjinjoov.tistory.com/57
로 정리해 보았다.
요약하자면 뜻은,
app: layout_constraint(방향)이 위젯의 해당방향에서_to(대상 위젯의 해당방향으로of
="대상id / parent"
이다.
이 부분 두 개를 이해하고
다음과 같이 올바르게 예제를 해결 할 수 있었다.
'Kotlin > 안드로이드_[입문]앱개발' 카테고리의 다른 글
Android 3-2_UI 레이아웃 실습 숙제 (0) | 2023.08.16 |
---|---|
3-2 Android UI - Layout _Margin / Padding / Gravity (0) | 2023.08.15 |
3-2 Android UI - Layout _Constraint Layout(중요도 : 높음!!) (0) | 2023.08.14 |
3-2 Android UI - Layout _Frame Layout /프레임레이아웃위에 영상을 재생시킨다던가 미디어만 올린다던가 그럴때만쓰는 레이아웃입니다. (0) | 2023.08.14 |
3-2 Android UI - Layout _Table Layout (0) | 2023.08.14 |