본 게시글은 연정's Figma님의 Youtube를 참고하여 작성한 글입니다.
원티드에서 주관하는 컴포넌트와 스토리북에 대한 챌린지 사전과제를 수행하기 위해 Figma 사용법에 대해 공부해보았다. Figma를 사용해보긴 했지만 제대로 알지 못하고 써봤기 때문에 디자인 시안을 제대로 만들지 못할 것 같아 간단한 강의를 보았는데...지금까지 1%도 제대로 못 쓰고 있던 것이다. 기억해놓으면 아주 유용하게 사용할 수 있을 것 같아 정리해보려고 한다. 기록해놓지 않으면 분명 까먹어버릴것...
Figma에서는 아이콘을 바로 사용할 수 있는 것이 아니라 외부에서 가져와야 한다. Google Fonts에서 Material Icons를 가져와 사용할 수 있다.
"Google Fonts Material Icons"를 검색하여 Material Symbols and Icons - Google Fonts로 이동한다.
1번 드롭다운에서 Meterial Icons를 선택한다.
2번 Figma file버튼을 클릭하여 피그마에서 아이콘 파일을 열 수 있도록 한다.↓
파란색 버튼 Open in Figma(또는 Duplicate)을 클릭하여 Figma로 이동한다.↓
Figma app에서 열면 Drafts에 Icons에 관한 페이지가 들어온다.↓
그러면 왼쪽 사이드바에서 Admin only를 선택하여 아이콘 파일을 연다.
그리고 아이콘 파일들을 전체선택하여 복사해준다.(cmd
+ c
)↓
작업을 진행하고 있는 draft로 이동하여 Icon 전용 page를 생성한 다음 해당 페이지에 붙여넣기 한다.(cmd
+ v
)↓
html로 버튼을 만들자면 container > icon > text 순으로 버튼을 만들 것이다. 하지만 디자인에서 레이아웃을 잡을 때는 다르게 생각해야 한다. icon과 text를 먼저 만들고, 두 요소를 그룹핑 해줘야 한다.
shift
+ i
로 Resources 창을 열어준다.T
를 눌러 텍스트를 입력해준다. 이 텍스트는 버튼의 라벨(Label)이 되겠다.shift
+ A
를 이용해 컨테이너로 감싸는 것과 동시에 레이아웃을 잡아준다.❕버튼에 관한 Tip
shift
+ option
을 누른 상태에서 마우스로 패딩을 늘려주면 좌우상하 패딩이 일정하게 늘어난다.option
만 누른 상태에서 마우스로 패딩을 늘려주면 좌우 또는 상하 패딩이 일정하게 늘어난다.shift
+ A
단축키를 이용해 Auto layout을 잡은 다음 막대기와 라벨 사이에 있던 여백을 0으로 없애준다. 그러면 아이콘과 라벨의 높이가 같아진 것을 볼 수 있다.이번 글의 주인공 컴포넌트를 만들어보겠다. 디자인에서 컴포넌트도 개발과 마찬가지로 재사용할 수 있도록 생성한다. 색상이나 스타일이 다른 컴포넌트를 만들어 놓으면 클릭 한번만으로 상황에 따른 버튼을 가져올 수 있다. (진작에 이 강의 볼걸그랬다)
상황에 따라서 필요한 버튼 디자인들을 각각 만든 다음, 컴포넌트로 만든다. 그리고 필요한 곳에서 인스턴스를 만든 다음 상황에 맞는 색상과 스타일로 커스텀 한 다음 사용한다. 마치 class를 instance로 만들어서 제각각에서 사용할 수 있는 것처럼.
cmd
+ option
+ k
를 눌러 버튼을 컴포넌트로 만든다.이렇게 한번 컴포넌트를 만들면 왼쪽 Assets패널에 Button 컴포넌트를 드래그 앤 드롭하여 인스턴스로 가져올 수 있다.
◇ Button ∨
이렇게 생긴 버튼이 있을 것이다. 그 오른쪽에 다이아몬드 모양 버튼을 클릭하면 해당 인스턴스의 메인 컴포넌트로 이동하게 된다. 지도의 현재위치로 이동하기 같은 기능을 가진 버튼이다.Variants는 상황에 따라 사용하기 위해 미리 다른 스타일들을 만들어 놓는데, 이 각각의 스타일을 가진 디자인을 variants라고 한다. 예를 들면 배경색이 꽉 차있는 버튼, 테두리 색상만 있는 버튼, 또는 아이콘만 있는 버튼 등 여러가지 스타일의 variants를 만든 다음, 인스턴스를 생성하여 상황에 맞게 variants를 골라 사용한다.
여기까지 컴포넌트, variants를 설정해주는 방법을 정리해보았다. Property에서 설정할 수 있는 Variants, Boolean, Instance Swap 등등 나머지 Property에 대해서는 다음 편에서 정리해보겠다.
Figma 플러그인 중에 Material Icon 관련 플러그인이 있는 걸로 아는데, 구글 폰트에서 직접 가져오는 게 더 낫나요??? :)