Modifier

임찬형·2022년 2월 8일
0

Android Compose

목록 보기
4/16

Modifier

  • 컴포저블을 수정하거나 장식할 수 있음
    1. 컴포저블의 크기, 레이아웃, 동작 및 모양 변경
    2. 접근성 라벨과 같은 정보 추가
    3. 사용자 입력 처리
    4. 요소를 클릭 가능, 스크롤 가능, 드래그 가능, 확대/축소 가능


    Modifier.padding()을 통해 padding값을 주고, 다시 반환된 Modifier에 fillMaxWidth()를 적용해 화면 너비에 맞춤.

Modifier의 순서

  • 위에서 보았듯이, Modifier는 함수 하나씩 적용하고 적용한 Modifier를 다시 반환하는 것을 반복함.
  • 따라서 함수 적용 순서에 따라 효과가 달라질 수 있음


위 예제는 Column에 clickable을 적용한 후 padding을 적용함.
Column에 clickable이 먼저 적용되고, padding을 주었으므로 padding으로 생긴 여백 부분까지 clickable이 적용됨.


반면 이 경우에, Column에 padding을 먼저 적용하고 clickable을 적용함.
Column에 padding을 적용하여 여백이 생긴 상태에서 clickable을 적용하였으므로 padding으로 생긴 여백 부분은 제외하고 clickable이 적용됨.

내장 수정자

  • Modifier.size(w,h) - 컴포저블 크기를 설정
  • Modifier.requiredSize(dp) - 수신된 제약 조건과 관계 없이 크기 고정
  • Modifier.fillMaxSize() - 상위 요소에 의해 허용된 크기를 채움
  • Modifier.fillMaxWidth() - 상위 요소에 의해 허용된 너비를 채움
  • Modifier.fillMaxHeight() - 상위 요소에 위해 허용된 높이를 채움
  • Modifier.offset(x,y) - 원래 위치를 기준으로 오프셋 이동

(BoxScope)

  • matchParentSize: 해당 요소를 상위 Box 크기와 맞춤

(Row, ColumnScope)

  • weight: Row의 경우 width, Column의 경우 height에 대해 가중치 적용

0개의 댓글