风格

风格指定一组配置值,作为预设分组。通常,用户可以在配套应用程序中从这些风格中进行选择。

一个风格可以包含现有配置的值,包括以下类型

  • 布尔配置
  • 颜色配置
  • 列表配置
  • 复杂功能插槽

从版本 2 开始

语法

<Flavor id="string" displayName="string" icon="string"
    screenReaderText="string">
    <!-- Flavor-specific child elements. -->
    <Configuration ... />
    <ComplicationSlot .../>
<Flavor/>>

您可以在UserConfigurations元素中包含风格元素,如下例所示

<UserConfigurations>
  <!-- Configuration definitions go here -->
  <ColorConfiguration id="themeColor" ... />
  <!-- ... -->

  <!-- The defaultValue is required. Set this attribute to the ID
       of the flavor that the system should show by default. -->
  <Flavors defaultValue="1">
    <Flavor id="1" displayName="1st flavor" icon="flavor_1_preview">
        <Configuration id="themeColor" optionId="0"/>
        <ComplicationSlot slotId="0">
            <DefaultProviderPolicy
                defaultSystemProvider="DAY_OF_WEEK"
                defaultSystemProviderType="SHORT_TEXT"/>
        </ComplicationSlot>
    </Flavor>

    <Flavor id="2" displayName="2nd flavor" icon="flavor_2_preview">
        <Configuration id="themeColor" optionId="1"/>
        <ComplicationSlot slotId="0">
            <DefaultProviderPolicy
                defaultSystemProvider="WATCH_BATTERY"
                defaultSystemProviderType="SHORT_TEXT"/>
        </ComplicationSlot>
    </Flavor>
  </Flavors>
</UserConfigurations>

要使用风格,必须将以下内容添加到res/xml/watch_face_info.xml

<?xml version="1.0" encoding="utf-8"?>
<WatchFaceInfo>
    ...
    <MultipleInstancesAllowed value="true" />
    <FlavorsSupported value="true" />
</WatchFaceInfo>

属性

风格元素具有以下属性

必需属性

以下属性是必需的

id
风格的唯一标识符。
displayName
与在配套应用程序中显示的文本相对应的资源 ID。

可选属性

以下属性是可选的

icon
与在配套应用程序中显示的可绘制资源相对应的资源 ID。这应该具有最大 360x360 像素的大小。
screenReaderText
与在用户启用了TalkBack时使用的文本相对应的资源 ID。

内部元素

风格元素必须包含至少一个配置元素,并且可以选择包含复杂功能插槽元素。

  • 配置元素使用id属性引用之前定义的配置元素,例如布尔配置配置元素使用optionId属性设置此配置选项的选定值。

  • 复杂功能插槽元素可用于为给定风格指定默认提供程序策略