시계 화면의 정보 표시는 데이터 소스의 데이터를 표시합니다. Complications API를 사용하면, 기본 데이터를 가져오는 데 사용할 데이터 소스를 시계 화면에서 선택할 수 있습니다. 이렇게 하면 시계 화면에서 데이터를 가져오기 위한 코드가 없어도 그날의 시간뿐만 아니라 다른 정보도 표시할 수 있습니다.
ComplicationSlotsManager 사용
정보 표시를 시계 화면에 추가하려면 ComplicationSlotsManager
를 사용합니다.
ComplicationSlotsManager
는 시계 화면에서 지원하는 정보 표시 수와 정보 표시의 화면상 위치를 정의합니다. 정보 표시의 위치나 개수 변경을 지원하기 위해 ComplicationSlotsManager
는 다음 예에서와 같이 CurrentUserStyleRepository
도 사용합니다.
override fun createComplicationSlotsManager(
currentUserStyleRepository: CurrentUserStyleRepository
): ComplicationSlotsManager {
val defaultCanvasComplicationFactory =
CanvasComplicationFactory { watchState, listener ->
// ...
}
val leftComplicationSlot = ComplicationSlot.createRoundRectComplicationSlotBuilder(
id = 100,
canvasComplicationFactory = defaultCanvasComplicationFactory,
// ...
)
.setDefaultDataSourceType(ComplicationType.SHORT_TEXT)
.build()
val rightComplicationSlot = ComplicationSlot.createRoundRectComplicationSlotBuilder(
id = 101,
canvasComplicationFactory = defaultCanvasComplicationFactory,
// ...
)
.setDefaultDataSourceType(ComplicationType.SHORT_TEXT)
.build()
return ComplicationSlotsManager(
listOf(leftComplicationSlot, rightComplicationSlot),
currentUserStyleRepository
)
}
유형 및 필드
다음 표는 ComplicationData
객체의 유형과 필드를 설명합니다. 정보 표시 유형에 맞지 않는 잘못된 필드를 시계 화면이 요청하는 경우, 해당 필드의 기본값이 반환됩니다. 예를 들어, 시계 화면이 SHORT_TEXT
유형의 LONG_TEXT
필드에 액세스를 시도하는 경우, LONG_TEXT
필드의 기본값(null)이 반환됩니다. 선택적 필드는 반드시 표시되는 것은 아닙니다.
유형 | 필수 입력란 | 선택적 필드 | 메모 |
---|---|---|---|
SHORT_TEXT
|
Short text |
Icon Burn-in protection icon Short title Content description |
둘 중 하나 또는 둘 다 제공된 경우 아이콘 또는 짧은 제목 하나만 표시합니다. |
MONOCHROMATIC_IMAGE
|
Monochromatic image |
Burn-in protection icon Content description |
텍스트가 불필요할 때 사용됩니다. 아이콘은 단색으로 예상되며, 시계 화면에서 색조가 조정될 수도 있습니다. |
RANGED_VALUE
|
Value Min value Max value |
Monochromatic image Burn-in protection icon Short text Short title Color ramp Dynamic value Content description |
직접 진행률 표시줄을 그리고 싶다면, isRangedValueProgressHidden() 메서드를 사용하여 ComplicationDrawable 클래스가 제공하는 진행률 표시줄을 숨길 수 있습니다.
|
GOAL_PROGRESS
|
Value Target value |
Monochromatic image Burn-in protection icon Short text Short title Color ramp Dynamic value Content description |
GOAL_PROGRESS는 값이 0에서 시작하고 타겟 값을 초과할 수 있는 걸음 수와 같은 항목을 위한 것입니다. |
LONG_TEXT
|
Long text |
Long title Monochromatic image Burn-in protection icon Small image Content description |
제공된 경우 긴 제목을 표시합니다. |
SMALL_IMAGE
|
Small image |
Content description |
Small image에는 사진 스타일 또는 아이콘 스타일의 두 스타일 중 하나가 있습니다. 사진 스타일은 공간을 채울 것으로 예상되며 자를 수 있습니다. 아이콘 스타일은 잘라낼 수 없으며 패딩을 적용할 수 있습니다.
이미지 가변성으로 인해 대기 모드에서 번인 보호 모드나 낮은 비트 대기 모드의 기기에 표시하기에 이미지가 부적합할 수 있습니다. 번인 보호 모드나 낮은 비트 대기 모드가 사용 설정된 경우 시계 화면이 안전한 Burn-in protection small image를 사용할 수도 있습니다. 그 외 경우에는 시계 화면이 적합성을 판별하기가 어려우므로 이미지가 표시되지 않습니다.
|
LARGE_IMAGE
|
Large image |
Content description |
이 이미지는 시계 화면을 채울 정도로 충분히 클 것으로 예상됩니다.
이미지 가변성으로 인해 대기 모드에서 번인 보호 모드나 낮은 비트 대기 모드의 기기에 표시하기에 이미지가 부적합할 수 있습니다. 시계 화면이 표시 적합성을 판별하기가 어렵기 때문에, 대기 모드에서 번인 보호 모드나 낮은 비트 대기 모드가 활성화된 경우에는 시계 화면이 이미지를 표시하지 않습니다.
|
WEIGHTED_ELEMENTS
|
Elements list |
Monochromatic image Burn-in protection icon Short text Short title Content description |
각 요소는 색상과 (0보다 큰) 두께로 구성됩니다. 렌더링 시 요소의 크기는 가중치에 비례합니다. 값을 합산하는 데는 가중치가 필요하지 않습니다. 시계 화면에서 WEIGHTED_ELEMENTS의 색상을 다시 지정할 수 있습니다. |
다음 표에서는 모든 정보 표시 자리에 관해 전송할 수 있는 빈 데이터의 정보 표시 유형을 설명합니다. 이러한 유형에는 필드가 없으며 지원되는 유형 목록에 포함될 필요가 없습니다. 이들 유형을 통해 시계 화면에서 다음의 세 가지 경우를 구분할 수 있습니다.
- 선택한 소스가 없음
- 사용자가 자리에 대해 'empty'를 선택했음
- 소스가 전송할 데이터가 없음
소스는 업데이트 요청에 대한 응답으로 TYPE_EMPTY
를 전송할 수 없습니다. 대신 TYPE_NO_DATA
를 전송하세요.
정보 표시 유형 | 설명 |
---|---|
TYPE_NOT_CONFIGURED
|
정보 표시가 활성화되었지만 사용자가 소스를 선택하지 않았고 기본값이 설정되지 않은 경우 시스템에 의해 전송됩니다. 소스에서 전송할 수 없습니다. |
TYPE_EMPTY
|
정보 표시가 활성화되었고 사용자가 소스 대신 'empty'를 선택한 경우 또는 시계 화면이 소스를 선택하지 않고 이 정보 표시 유형을 기본값으로 선택한 경우 시스템에 의해 전송됩니다.
소스에서 전송할 수 없습니다. |
TYPE_NO_DATA
|
소스를 가진 정보 표시가 활성화된 경우, 실제 데이터가 소스로부터 수신되기 전에 정보 표시를 지우기 위해 시스템에 의해 전송됩니다. 전송할 실제 데이터가 없는 경우 소스에 의해 전송될 수 있습니다. |
자세한 내용은 GitHub의 시계 화면 샘플을 확인하세요.
추천 항목
- 참고: JavaScript가 사용 중지되어 있으면 링크 텍스트가 표시됩니다.
- DefaultProviderPolicy
- ComplicationSlot
- Complication