Smak

Element Flavor określa zbiór wartości konfiguracyjnych, które są zgrupowane jako gotowe ustawienia. Zwykle użytkownik może wybrać jeden z tych smaków w aplikacji towarzyszącej.

Element Flavor może zawierać wartości istniejących konfiguracji, w tym tych typów:

  • BooleanConfiguration
  • ColorConfiguration
  • ListConfiguration
  • ComplicationSlot

Od wersji 2

Składnia

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

Elementy Flavor możesz umieścić w elemencie UserConfigurations w taki sposób:

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

  <Flavors>
    <Flavor id="1" displayName="1st flavor" icon="flavor_1_preview" defaultValue="">
        <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" defaultValue="">
        <Configuration id="themeColor" optionId="1"/>
        <ComplicationSlot slotId="0">
            <DefaultProviderPolicy
                defaultSystemProvider="WATCH_BATTERY"
                defaultSystemProviderType="SHORT_TEXT"/>
        </ComplicationSlot>
    </Flavor>
  </Flavors>
</UserConfigurations>

Aby móc używać Flavors, musisz dodać do elementu res/xml/watch_face_info.xml:

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

Atrybuty

Element Flavor ma te atrybuty:

Atrybuty wymagane

Wymagane są te atrybuty:

id
Unikalny identyfikator Flavor.
displayName
Identyfikator zasobu odpowiadający tekstowi wyświetlanemu w reklamie towarzyszącej.
defaultValue
Ten atrybut nie jest używany i powinien być pusty.

Atrybuty opcjonalne

Te atrybuty są opcjonalne:

icon
Identyfikator zasobu odpowiadający rysowalnemu zasobowi, który jest wyświetlany w elemencie towarzyszącym. Powinien mieć maksymalny rozmiar 360 x 360 pikseli.
screenReaderText
Identyfikator zasobu odpowiadający tekstowi, który jest używany, jeśli użytkownik ma włączoną funkcję TalkBack.

Elementy wewnętrzne

Element Flavor musi zawierać co najmniej 1 element Configuration i opcjonalnie może zawierać ComplicationSlot.

  • Element Configuration odwołuje się do wcześniej zdefiniowanych elementów konfiguracji, takich jak BooleanConfiguration, za pomocą atrybutu id. Elementy Configuration ustawiają wybraną wartość dla tej opcji konfiguracji za pomocą atrybutu optionId.

  • Za pomocą elementu ComplicationSlot można określić właściwość DefaultProviderPolicy w przypadku danego elementu Flavor.