위젯은 홈 화면 맞춤설정의 필수적인 부분입니다. 위젯은 사용자의 홈 화면에서 바로 액세스할 수 있는 앱의 가장 중요한 데이터와 기능을 '한눈에 보기' 뷰로 간주할 수 있습니다. 사용자는 홈 화면 패널 간에 위젯을 이동할 수 있으며 지원되는 경우 위젯의 크기를 조절하여 위젯 내의 정보량을 원하는 대로 조정할 수 있습니다.
이 페이지에서는 사용자가 만들 수 있는 다양한 유형의 위젯 및 디자인 원칙을 소개합니다. 앱 위젯을 빌드하려면 앱 위젯 빌드를 읽어보세요.
위젯 유형
위젯을 계획할 때 어떤 종류의 위젯을 빌드할지 생각해보세요. 위젯은 일반적으로 다음 카테고리 중 하나에 속합니다.
정보 위젯
정보 위젯은 일반적으로 사용자에게 중요한 정보 요소를 표시하고 시간에 따른 정보의 변화를 추적합니다. 정보 위젯의 좋은 예는 날씨 위젯, 시계 위젯 또는 스포츠 경기 점수 트래커입니다. 일반적으로 정보 위젯을 터치하면 연결된 앱이 실행되고 위젯 정보의 세부정보 뷰가 열립니다.
컬렉션 위젯
이름에서 알 수 있듯이 컬렉션 위젯은 갤러리 앱의 그림 컬렉션, 뉴스 앱의 기사 컬렉션, 소통 앱의 이메일/메시지 컬렉션 등 동일한 유형의 여러 요소를 표시하는 것을 전문으로 합니다. 컬렉션 위젯은 일반적으로 컬렉션 둘러보기, 컬렉션의 요소를 사용하기 위해 세부정보 뷰로 열기 등 두 가지 사용 사례에 중점을 둡니다. 컬렉션 위젯은 세로로 스크롤할 수 있습니다.

ListView 위젯

GridView 위젯
관리 위젯
관리 위젯의 기본 목적은 사용자가 앱을 먼저 열 필요 없이 홈 화면에서 바로 트리거할 수 있는 자주 사용되는 함수를 표시하는 것입니다. 관리 위젯을 앱의 리모컨이라고 생각하세요. 관리 위젯의 일반적인 예는 사용자가 실제 음악 앱 외부에서 음악 트랙을 재생, 일시중지 또는 건너뛸 수 있는 음악 앱 위젯입니다.
검색 위젯의 경우와 같이 관리 위젯의 함수가 데이터 세트를 생성했는지에 따라 관리 위젯과의 상호작용이 연결된 세부정보 뷰로 이어질 수도 있고 이어지지 않을 수도 있습니다.
하이브리드 위젯
모든 위젯은 위에 설명된 세 가지 유형 중 하나에 끌리는 경향이 있지만 실제로는 대부분의 위젯이 다양한 유형의 요소를 결합한 하이브리드입니다.
위젯을 계획할 때 기본 위젯 유형 중 하나에 중심을 두고 필요한 경우 다른 유형의 요소를 추가하세요.
위젯 제한사항
위젯은 '미니 앱'으로 이해할 수 있지만 위젯 디자인을 시작하기 전에 이해해야 할 중요한 제한사항이 있습니다.
동작
위젯은 홈 화면에 표시되므로 홈 화면에 설정된 탐색 기능과 공존해야 합니다. 따라서 전체 화면 앱에 비해 위젯에서 사용할 수 있는 동작 지원이 제한됩니다. 예를 들어 앱이 사용자가 화면 사이를 좌우로 이동할 수 있는 뷰 페이저를 지원할 수 있지만 이 동작은 홈 화면에서 홈 패널 사이를 이동하기 위해 이미 사용되고 있습니다.
위젯에 사용할 수 있는 유일한 동작은 다음과 같습니다.
- 터치
- 수직 스와이프
요소
위의 상호작용 제한사항에 따라 제한된 동작에 의존하는 일부 UI 기본 구성요소는 위젯에 사용할 수 없습니다. 지원되는 기본 구성요소의 전체 목록과 레이아웃 제한사항에 관한 자세한 내용은 앱 위젯 API 가이드의 '앱 위젯 레이아웃 만들기' 섹션을 참조하세요.
디자인 가이드라인
위젯 콘텐츠
위젯은 앱에서 사용할 수 있는 새롭고 흥미로운 콘텐츠를 '광고'하여 사용자를 앱으로 유인할 수 있는 훌륭한 메커니즘입니다.
신문의 주요뉴스에 있는 티저와 마찬가지로 위젯은 앱 정보를 통합하고 앱 정보에 초점을 맞춘 다음 앱 내의 세부정보 연결되어야 합니다. 즉 위젯은 정보 '간식'이고 앱은 '식사'입니다. 중요한 점은 앱에서 위젯이 항상 표시하는 것보다 정보 항목에 관해 더 자세한 내용을 표시하도록 하는 것입니다.
위젯 탐색
순수한 정보 콘텐츠 외에도 앱의 자주 사용되는 영역의 탐색 링크를 제공하여 위젯의 기능을 완성 해보세요. 이렇게 하면 사용자가 작업을 더 빠르게 완료하고 앱의 기능적 도달 범위를 홈 화면으로 확장할 수 있습니다.
위젯에는 다음과 같은 탐색 링크를 표시할 수 있습니다.
- 생성 함수: 새 문서 또는 새 메시지 만들기와 같이 사용자가 앱의 새 콘텐츠를 만들 수 있는 함수입니다.
- 최상위 수준에서 애플리케이션 열기: 정보 요소를 탭하면 일반적으로 하위 수준 세부정보 화면으로 이동합니다. 애플리케이션의 최상위 수준에 액세스할 수 있는 권한을 제공하면 더 유연하게 탐색할 수 있고 사용자가 홈 화면에서 앱으로 이동하는 데 사용하는 전용 앱 바로가기를 바꿀 수 있습니다. 또한 애플리케이션 아이콘을 어포던스로 사용하면 표시하는 데이터가 모호한 경우 위젯을 명확히 식별할 수 있습니다.
위젯 크기 조절

크기 조절 가능한 위젯을 길게 눌렀다가 손을 떼면 크기 조절 모드로 전환됩니다. 사용자는 드래그 핸들 또는 위젯 모서리를 사용하여 원하는 크기로 설정할 수 있습니다.
크기 조절 기능을 사용하면 홈 패널 배치 그리드의 제약 조건 내에서 위젯의 높이 및 너비를 조정할 수 있습니다. 위젯의 크기를 자유롭게 조절할 수 있는지 또는 가로 또는 세로 크기 변경 사항으로 제한되는지 여부를 결정할 수 있습니다. 기본적으로 크기가 고정된 위젯의 경우 크기 조절기능을 지원하지 않아도 됩니다.
사용자가 위젯의 크기를 조절할 수 있도록 하면 다음과 같이 중요한 이점이 있습니다.
- 사용자가 각 위젯에 표시할 정보의 양을 미세하게 조정할 수 있습니다.
- 홈 패널의 위젯 및 바로가기 레이아웃에 더 큰 영향을 미칠 수 있습니다.
위젯의 크기 조절 전략 계획은 만들려는 위젯 유형에 따라 달라집니다. 목록 또는 그리드 기반 컬렉션 위젯은 일반적으로 가로 스크롤 영역을 확장하거나 축소하여 간단하게 크기를 조절할 수 있습니다. 위젯의 크기와 관계없이 사용자는 모든 정보 요소를 스크롤하여 표시할 수 있습니다. 반면에 정보 위젯은 스크롤이 불가능하고 모든 콘텐츠가 주어진 크기 내에 들어가야 하므로 약간 더 직접적인 계획이 필요합니다. 위젯의 콘텐츠와 레이아웃은 사용자가 크기 조절 작업을 통해 정의한 크기로 동적으로 조정해야 합니다.
이 간단한 예에서 사용자는 4단계로 날씨 위젯의 가로 크기를 조절하고 위젯이 커질수록 현재 위치의 날씨에 관한 더 풍부한 정보를 표시할 수 있습니다.
위젯 크기별로 표시해야 하는 앱의 정보 양을 결정하세요. 크기가 작은 경우 필수 정보에 집중한 다음 위젯이 가로 및 세로로 커짐에 따라 상황별 정보를 추가하세요.
레이아웃 고려사항
소유하고 개발하는 특정 기기의 배치 그리드 크기에 따라 위젯의 레이아웃을 지정하려는 경향이 있을 수 있습니다. 이 값은 위젯을 레이아웃할 때 초기 근사값으로 유용하지만 다음 사항에 유의하세요.
- 셀의 수, 크기 및 간격은 기기마다 크게 다를 수 있으므로 위젯이 유연하고 예상보다 다소 많거나 적은 공간을 수용할 수 있어야 합니다.
- 실제로 사용자가 위젯의 크기를 조절하면 시스템에서 위젯이 직접 다시 그릴 수 있는 dp 크기 범위를 제공합니다. 가변적인 그리드 크기 대신 '크기 버킷'에 걸쳐 위젯 크기 조절 전략을 계획하면 가장 신뢰할 수 있는 결과를 얻을 수 있습니다.
위젯 구성
어떤 경우에는 위젯을 설정해야 유용하게 사용할 수 있습니다. 예를 들어 계정을 제공해야 받은편지함을 표시할 수 있는 이메일 위젯을 생각해 보세요. 또는 사용자가 갤러리에서 표시할 사진을 지정해야 하는 정적 사진 위젯을 생각해 보세요.
Android 위젯은 위젯이 홈 패널에 놓인 직후 구성 선택사항을 표시합니다. 위젯 구성을 가볍게 유지하고 구성 요소를 2~3개 이상 표시하지 마세요. 구성 선택사항을 표시하고 사용자의 장소 컨텍스트를 유지하려면 여러 대화상자를 사용해야 하는 경우에도 전체 화면 활동 대신 대화상자 스타일을 사용하세요.
설정한 후에는 다시 설정해야 할 이유가 별로 없습니다. 따라서 Android 위젯에는 '설정 '또는 '구성' 버튼이 표시되지 않습니다.

체크리스트
- 위젯에서 한눈에 파악할 수 있는 정보의 작은 부분에 초점을 맞춥니다. 앱에서 정보를 확장합니다.
- 용도에 적합한 위젯 유형을 선택합니다.
- 크기를 조절할 수 있는 위젯의 경우 크기에 따라 위젯의 콘텐츠를 조정하는 방식을 지정합니다.
- 레이아웃이 확장되거나 축소될 수 있도록 하여 위젯 방향과 기기가 서로 영향을 미치지 않도록 합니다.