Smak

Flavor określa zestaw wartości konfiguracyjnych pogrupowanych jako gotowe ustawienia. Zwykle użytkownik może wybierać spośród tych smaków w aplikacji towarzyszącej.

Flavor może zawierać wartości istniejących konfiguracji, w tym następujące typy:

  • BooleanConfiguration
  • ColorConfiguration
  • ListConfiguration
  • ComplicationSlot

Od wersji 2

Składnia

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

W elemencie UserConfigurations możesz umieścić elementy Flavor, jak w tym przykładzie:

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

Aby używać Flavors, musisz dodać do 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 elementu Flavor.
displayName
Identyfikator zasobu odpowiadający tekstowi wyświetlanemu w reklamie towarzyszącej.

Atrybuty opcjonalne

Te atrybuty są opcjonalne:

icon
Identyfikator odpowiadający zasobowi rysowalnemu wyświetlanemu w polu . Jego maksymalny rozmiar to 360 x 360 pikseli.
screenReaderText
Identyfikator zasobu odpowiadający tekstowi, który jest używany, jeśli użytkownik ma Włączono TalkBack.

Elementy wewnętrzne

Element Flavor musi zawierać co najmniej 1 element Configuration i może zawierać: mogą być opcjonalnie uwzględniane w elementach: ComplicationSlot.

  • Element Configuration odwołuje się do wcześniej zdefiniowanej 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ć DefaultProviderPolicy dla danego Flavor.