Parfum

Un type de produit spécifie un ensemble de valeurs de configuration, regroupées en tant que préréglages. En règle générale, l'utilisateur peut choisir parmi ces saveurs dans l'application associée.

Un Flavor peut inclure des valeurs pour des configurations existantes, y compris les types suivants:

  • BooleanConfiguration
  • ColorConfiguration
  • ListConfiguration
  • ComplicationSlot

Depuis la version 2

Syntaxe

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

Vous pouvez inclure des éléments Flavor dans un élément UserConfigurations. comme illustré dans l'exemple suivant:

<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>

Pour utiliser Flavors, vous devez ajouter les éléments suivants à res/xml/watch_face_info.xml:

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

Attributs

L'élément Flavor comporte les attributs suivants :

Attributs obligatoires

Les attributs suivants sont obligatoires :

id
Identifiant unique de Flavor.
displayName
ID de ressource correspondant au texte affiché dans l'annonce associée.

Attributs facultatifs

Les attributs suivants sont facultatifs :

icon
ID de ressource correspondant à la ressource drawable, affiché dans l'annonce associée. La taille ne doit pas dépasser 360 x 360 px.
screenReaderText
ID de ressource correspondant au texte utilisé si TalkBack a été activé.

Éléments internes

L'élément Flavor doit contenir au moins un élément Configuration et peut si vous le souhaitez, vous pouvez inclure des éléments ComplicationSlot.

  • L'élément Configuration fait référence à une configuration précédemment définie tels que BooleanConfiguration, à l'aide de l'attribut id. La Les éléments Configuration définissent la valeur choisie pour cette option de configuration. à l'aide de l'attribut optionId.

  • L'élément ComplicationSlot peut être utilisé pour spécifier le DefaultProviderPolicy pour un Flavor donné.