Android ConstraintLayout Barrier
사용 언어: Kotlin 1.8.10
사용 버전: Android Studio Flamingo 2022.2.1 Patch 1
쳇, 결계인가...
말로 들으니 뭔지 모르겠네요.
코드를 봅시다.
자, 이러한 layout이 있습니다.
button이 현재는 가장 긴 글자인 Good에 맞춰져 있네요.
사용 버전: Android Studio Flamingo 2022.2.1 Patch 1
안드로이드 ConstraintLayout Barrier를 알아보겠습니다.
배리어는 방어막, 보호막이라는 뜻을 가지는데요. 즉, 어떠한 뷰를 보호하는 가상의 결계를 생성합니다.쳇, 결계인가...
말로 들으니 뭔지 모르겠네요.
코드를 봅시다.
자, 이러한 layout이 있습니다.
button이 현재는 가장 긴 글자인 Good에 맞춰져 있네요.
만약 클릭을 눌러서 100이 증가하여 10000으로 된다면? 아마도 10000이 Click
버튼과 겹쳐질 겁니다.
정말 골치 아픈 상황이군요.
한 번 보시죠.
으아 생각만 해도 아찔하군요.
이럴 때, Good과 100을 지키는 Barrier를 만듭니다.
29 번째 줄처럼 Barrier를 만듭니다.
33 번째 줄 barrierDirection에는 방향을 정합니다. 저는 해당 뷰의 끝을 지키기
때문에 end를 적었습니다.
34 번째 줄처럼 constraint_referenced_ids에는 지킬 id들을 적습니다. 저는 위의
두 개의 TextView의 id를 적었습니다.
이제, Button으로 갑시다.
43 번째 줄처럼 app:layout_constraintStart_toEndOf에는 Barrier의 id를
적어줍니다.
미리 보기를 보면 이렇게 됩니다. 무슨 장막이 생겼네요.
실행해 봅시다.
짜잔.
Barrier에는 gone을 다루는 기능이 있습니다.
barrierAllowsGoneWidgets인데요.
true 면, gone된 해당 뷰가 0dp가 되어도 그 위치에 있다고 생각하고 막힙니다.
false 면, gone된 해당 뷰가 없다고 생각하고 막습니다.
34 번째 줄처럼 사용합니다. app:barrierAllowsGoneWidgets="true"
true 일 때
false 일 때
끝.
카테고리: Android
댓글
댓글 쓰기
궁금한 점은 댓글 달아주세요.
Comment if you have any questions.