#14 [Kotlin] 머티리얼 라이브러리

정상준·2022년 10월 29일
0

kotlin

목록 보기
14/26
post-thumbnail
post-custom-banner

📝머티리얼 라이브러리

구글의 머티리얼 디자인은 모바일과 데스크톱, 그리고 그 밖에 다양한 장치를 아우르는 일관된 애플리케이션 디자인 지침이다. 예를 들어 그림자 효과를 주어 사용자가 화면의 계층을 쉽게 파악하게 하거나 버튼을 터치했을 때 물결 모양의 효과를 주어 어느 부분을 터치했는지 직관적으로 알 수 있게 한다. 이러한 머티리얼 디자인 지침에 맞게 앱을 개발하려면 다양한 뷰가 필요한데, 구글은 이를 지원하려고 머티리얼 라이브러리를 제공한다.

📝앱바

앱바란 화면 위쪽의 꾸밀 수 있는 영역을 의미한다. 앱바를 이용해 메뉴를 출력하는 툴바를 포함할 수 있으며 이외에 이미지나 문자열을 함께 출력하는 등 앱바를 이용해 화면의 위쪽 영역을 다양하게 꾸밀 수 있다.

📝코디네이터 레이아웃

코디네이터 레이아웃은 뷰끼리 상호작용해야 할 때 사용한다. 예를 들어 하나의 뷰가 스크롤 될 때 그 정보를 다른 뷰에서도 받아 함께 스크롤 하고 싶다면 코디네이터 레이아웃이 정보를 받아 다른 뷰에 전달해준다. 하지만 코디네이터 레이아웃에 뷰를 차가만 한다고 모든 뷰의 스크롤 정보를 공유할 수 있는 것은 아니다. 서로 상호작용하기 위해선 비헤이비어라는 것을 구현해야 뷰끼리 상호작용 할 수 있다.

📝컬랩싱 툴바 레이아웃

컬랩싱 툴바 레이아웃은 앱바 레이아웃 하위에 선언하여 앱바가 접힐 때 다양한 설정을 할 수 있는 뷰이다. 예를 들어 앱바가 접힐 때 표시할 제목이나 색상등을 지정할 수 있다.

컬랩싱 툴바 레이아웃에서 앱바가 스크롤될지 설정하는 layout_scrollFlags가 있는데 스크롤 되어야 한다면 scroll값을 지정하고 |연산자를 추가해 스크롤 시 어떻게 움직여야 하는지를 설정한다.

  • scroll | enterAlways : 스크롤 시 완전히 사라졌다가 거꾸로 스크롤 시 처음부터 다시 나타난다.
  • scroll | enterAlwaysCollapsed : 스크롤 시 완전히 사라졌다가 거꾸로 스크롤 시 처으부터 나타나지 않고 메인 콘텐츠 부분이 끝까지 스크롤된 다음에 나타난다.
  • scroll | exitUntilCollapsed : 스크롤 시 모두 사라지지 않고 툴바를 출력할 정도의 한 줄만 남았을 때까지 스크롤 된다.

📝탭 레이아웃

탭 레이아웃은 탭으로 구분하는 화면에서 탭 버튼을 배치하는 레이아웃이다. 탭 화면에서는 탭 버튼을 선택했을 때 나와야 하는 내용이 있다.

tabGravity는 탭 버튼을 정렬하는 속성으로 기본값은 fill이며 탭 버튼을 가로로 등분하여 배치한다. center는 탭 버튼을 가운데 정렬한다.

tabMode 속성은 탭 버튼을 스크롤 할 수 있는지 설정하는것으로 기본값은 fixed인데 스크롤 지원이 불가하며 scrollable로 설정하면 탭 버튼이 왼쪽부터 나열되고 모두 출력할 수 없다면 자동으로 가로 스크롤이 생긴다.

📝내비게이션 뷰

내비게이션 뷰는 드로어 레이아웃으로 열린 화면에 출력되는 내용을 구성할 때 사용하는데, 보통은 메뉴 항목을 나열하는 형태로 구성한다. 내비게이션 뷰로 화면을 구성하려면 위쪽에 적용할 레이아웃 XML파일과 아래쪽에 적용할 메뉴 XML파일을 만들어 NavigationView의 속성으로 XML파일을 알려 주기만 하면 된다.

📝확장된 플로팅 액션 버튼

확장된 플로팅 액션 버튼은 화면에 떠 있는 듯한 버튼을 제공하는 뷰이다.

profile
안드로이드개발자
post-custom-banner

0개의 댓글