Sabor

Uma variação especifica um conjunto de valores de configuração, agrupados como uma predefinição. Normalmente, o usuário pode escolher entre essas variações no app complementar.

Um Flavor pode incluir valores para as configurações atuais, incluindo o seguintes tipos:

  • BooleanConfiguration
  • ColorConfiguration
  • ListConfiguration
  • ComplicationSlot

Desde a versão 2

Sintaxe

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

É possível incluir elementos Flavor em um UserConfigurations. conforme mostrado neste exemplo:

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

Para usar Flavors, é necessário adicionar o seguinte a res/xml/watch_face_info.xml:

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

Atributos

O elemento Flavor tem os seguintes atributos:

Atributos obrigatórios

Os seguintes atributos são obrigatórios:

id
Um identificador exclusivo para o Flavor.
displayName
Um ID de recurso correspondente ao texto exibido no complementar.

Atributos opcionais

Os seguintes atributos são opcionais:

icon
Um ID de recurso correspondente ao drawable mostrado em o companheiro. Ele precisa ter um tamanho máximo de 360 x 360 px.
screenReaderText
Um ID de recurso correspondente ao texto usado se o usuário tiver ativado o TalkBack.

Elementos internos

O elemento Flavor precisa conter pelo menos um elemento Configuration e pode incluir opcionalmente elementos ComplicationSlot.

  • O elemento Configuration faz referência à configuração definida anteriormente elementos, como BooleanConfiguration, usando o atributo id. A Os elementos Configuration definem o valor escolhido para esta opção de configuração usando o atributo optionId.

  • O elemento ComplicationSlot pode ser usado para especificar DefaultProviderPolicy para um determinado Flavor.