Snackbar의 문장이 여러 줄일 때 상하로 큰 공백이 생기는 것을 조정한다

이 기사는 material-components 1.2.0의 내용입니다.

발생한 문제



Snackbar의 문장이 여러 줄 일 때 위아래 Padding이 너무 넓다고 생각합니다 🤔



Snackbar 가이드라인 봐도 여기까지 상하에 Padding 은 설정되어 있지 않을 것 같다.

해결책


design_snackbar_padding_vertical_2lines 리소스 재정의
<dimen name="design_snackbar_padding_vertical_2lines">14dp</dimen>



원인


Snackbar 의 문장의 위아래 Padding 는 SnackbarContentLayout 안에
  • 1 행의 경우는 14 dp (R.dimen.design_snackbar_padding_vertical)
  • 여러 줄의 경우 24dp (R.dimen.design_snackbar_padding_vertical_2lines)

  • 가 설정되어 있어 이것이 Padding이 넓은 이유의 원인인 것 같다.
    https://github.com/material-components/material-components-android/blob/f00cd57f133d394347baf3e75d5ba6cdb41bcf85/lib/java/com/google/android/material/snackbar/SnackbarContentLayout.
    SnackbarContentLayout 에 직접 액세스가 어렵기 때문에, Snackbar 주위를 스스로 구현하지 않는 한은 자원의 오버라이드(override)가 회피책이 될 것 같지만, 라이브러리 쪽으로 자원명이 리네임 될 가능성은 있다.

    이 값은 FullWidth인 Snackbar 때의 유명한 것일까🤔(개인적인 해석)

    좋은 웹페이지 즐겨찾기