Adicionar gráficos vetoriais de várias densidades

O Android Studio inclui uma ferramenta chamada Vector Asset Studio que ajuda a adicionar ícones do Material Design e importar arquivos Scalable Vector Graphic (SVG) e Adobe Photoshop Document (PSD) para seu projeto como recursos drawable vetoriais. O uso de drawables vetoriais em vez de bitmaps reduz o tamanho do APK, uma vez que o mesmo arquivo pode ser redimensionado para diferentes densidades de tela sem perda de qualidade da imagem. Para versões anteriores do Android que não são compatíveis com drawables vetoriais, o Vector Asset Studio pode, durante a compilação, transformar drawables vetoriais em diferentes tamanhos de bitmap para cada densidade de tela.

Sobre o Vector Asset Studio

O Vector Asset Studio adiciona um gráfico vetorial ao projeto como um arquivo XML que descreve a imagem. A manutenção de um único arquivo XML pode ser mais fácil que a atualização de diversos gráficos rasterizados em várias resoluções.

Para usar drawables vetoriais com o Jetpack Compose, defina o nível mínimo da API como Android 5.0 (nível 21 da API) ou mais recente.

O Android 4.4 (API de nível 20) e versões anteriores não tem suporte a drawables vetoriais. Se o nível da API mínimo for definido como um desses níveis da API, você terá duas opções ao usar o Vector Asset Studio: gerar arquivos Portable Network Graphic (PNG), o padrão, ou usar a técnica de compatibilidade com versões anteriores no AndroidX.

Para manter a compatibilidade com versões anteriores, o Vector Asset Studio gera imagens rasterizadas do drawable vetorial. Os drawables vetoriais e rasterizados são empacotados juntos no APK. Você pode fazer referência a drawables vetoriais como Drawable em código Kotlin ou @drawable em código XML. Quando o app for executado, a imagem vetorial ou rasterizada correspondente será automaticamente exibida, dependendo do nível da API.

Se você quiser usar somente drawables vetoriais, use o AndroidX 1.0.0 ou uma versão mais recente. Essa técnica exige uma mudança no arquivo build.gradle antes de executar o Vector Asset Studio, conforme descrito em AndroidX. A classe VectorDrawableCompat no AndroidX permite oferecer suporte a VectorDrawable no Android 2.1 (nível da API 7) e versões mais recentes.

Tipos de gráficos vetoriais compatíveis

A especificação de Material Design do Google oferece ícones (link em inglês) que podem ser usados em apps Android. O Vector Asset Studio ajuda você a escolher, importar e dimensionar ícones do Material Design, além de definir a opacidade e a configuração de espelhamento da direita para a esquerda (RTL, na sigla em inglês).

O Vector Asset Studio também permite importar seus arquivos SVG e PSD. O SVG é um padrão aberto baseado em XML do World Wide Web Consortium (W3C). O formato do arquivo PSD é compatível com recursos do Adobe Photoshop. O Vector Asset Studio oferece suporte aos padrões básicos, mas não a todos os recursos dos formatos SVG e PSD. Quando você especifica um arquivo SVG ou PSD, o Vector Asset Studio informa imediatamente se o código de gráficos tem suporte ou não. Ele converte o arquivo em um arquivo XML contendo código VectorDrawable. Se ocorrerem erros, verifique se o drawable vetorial foi exibido corretamente. Para mais informações sobre os recursos permitidos do PSD, consulte Compatibilidade e restrições para arquivos PSD.

Para o Android 5.0 (nível da API 21) ou versões mais recentes, você pode usar a classe AnimatedVectorDrawable para animar as propriedades da classe VectorDrawable. Com o AndroidX, você pode usar a classe AnimatedVectorDrawableCompat para animar a classe VectorDrawable no Android 3.0 (nível da API 11) e versões mais recentes. Para mais informações, consulte Imagens vetoriais animadas no Compose.

Considerações para arquivos SVG e PSD

Um drawable vetorial é adequado para ícones simples. Os ícones do Material Design (link em inglês) oferecem bons exemplos dos tipos de imagens que funcionam bem como drawables vetoriais em um app. Por outro lado, muitos ícones de inicialização de apps têm muitos detalhes e funcionam melhor como imagens rasterizadas.

O carregamento inicial de um drawable vetorial pode custar mais ciclos de CPU do que a imagem rasterizada correspondente. Depois disso, o uso de memória e o desempenho são semelhantes para os dois. Recomendamos que você limite uma imagem vetorial a, no máximo, 200 x 200 dp. Caso contrário, o desenho pode ser muito demorado.

Embora os drawables vetoriais sejam compatíveis com uma ou mais cores, em muitos casos faz sentido colorir os ícones de preto (android:fillColor="#FF000000"). Dessa forma, é possível adicionar uma tonalidade ao drawable vetorial colocado em um layout, e a cor do ícone mudará para a cor da tonalidade. Se a cor do ícone não for preta, ela poderá se mesclar com a tonalidade em vez de substituí-la.

Soluções de compatibilidade com versões anteriores de drawables vetoriais

A tabela a seguir resume as duas técnicas que podem ser usadas para compatibilidade com versões anteriores:

Técnica Drawables no APK Elementos XML VectorDrawable Versão Sinalizações de compilação Código do app
Geração de PNGs Vetorial e rasterizado Subconjunto compatível

SVG: plug-in do Android para o Gradle 1.5.0 ou posterior

PSD: Android Studio 2.2 ou posterior

Padrão Suporte a diversas técnicas de programação
AndroidX 1.0 ou mais recente Vetor Totalmente compatível Plug-in do Android para Gradle 3.2 ou mais recente Exige instruções da Biblioteca de Suporte Subconjunto de técnicas de programação compatíveis

O uso de drawables vetoriais pode produzir um APK menor, mas o carregamento inicial desses drawables pode ser mais demorado.

Geração de PNGs

O Android 5.0 (API de nível 21) e versões mais recentes oferece suporte a drawables vetoriais. Se o app tiver um nível da API mínimo inferior a esse, o Vector Asset Studio adicionará o arquivo de drawable vetorial ao projeto. Além disso, durante o tempo de build, o Gradle criará imagens rasterizadas PNG em várias resoluções. O Gradle gera as densidades de PNG especificadas pela propriedade generatedDensities (link em inglês) da Domain Specific Language (DSL) em um arquivo build.gradle.

Para o Android 5.0 (nível da API 21) e versões mais recentes, o Vector Asset Studio é compatível com todos os elementos VectorDrawable. Para compatibilidade com versões anteriores do Android 4.4 (nível da API 20) e versões inferiores, o Vector Asset Studio é compatível com os seguintes elementos XML:

<vector>

  • android:width
  • android:height
  • android:viewportWidth
  • android:viewportHeight
  • android:alpha

<group>

  • android:rotation
  • android:pivotX
  • android:pivotY
  • android:scaleX
  • android:scaleY
  • android:translateX
  • android:translateY

<path>

  • android:pathData
  • android:fillColor
  • android:strokeColor
  • android:strokeWidth
  • android:strokeAlpha
  • android:fillAlpha
  • android:strokeLineCap
  • android:strokeLineJoin
  • android:strokeMiterLimit

É possível mudar o código XML gerado pelo Vector Asset Studio, embora isso não seja uma prática recomendada. A alteração de valores no código não deve causar problemas, desde que os valores sejam válidos e estáticos. Se você quiser adicionar elementos XML, confira se eles são compatíveis com base no nível da API mínimo.

AndroidX

Essa técnica exige o AndroidX 1.0 ou mais recente e o plug-in do Android para Gradle 3.2 ou mais recente, e usa somente drawables vetoriais. A classe VectorDrawableCompat no AndroidX permite oferecer suporte a VectorDrawable no Android 2.1 (nível da API 7) e versões mais recentes.

Antes de usar o Vector Asset Studio, adicione uma instrução ao arquivo build.gradle:

Kotlin

android {
    defaultConfig {
        vectorDrawables.useSupportLibrary = true
    }
}

dependencies {
    implementation("androidx.appcompat:appcompat:1.7.1")
}

Groovy

android {
    defaultConfig {
        vectorDrawables.useSupportLibrary = true
    }
}

dependencies {
    implementation 'androidx.appcompat:appcompat:1.7.1'
}

Executar o Vector Asset Studio

Para iniciar o Vector Asset Studio:

  1. No Android Studio, abra o projeto de um app para Android.

  2. Na janela Project, selecione a visualização Android.

  3. Clique com o botão direito na pasta res e selecione New > Vector Asset.

    Algumas outras visualizações e pastas do projeto também têm esse item de menu.

    O Vector Asset Studio é exibido.

    Figura 1. Vector Asset Studio.

  4. Se a caixa de diálogo Need Newer Android Plugin for Gradle for exibida, corrija a versão do Gradle da seguinte forma:

    1. Selecione File > Project Structure.

    2. Na caixa de diálogo Project Structure, selecione Project.

    3. No campo Android Plugin Version, altere a versão do plug-in do Android para Gradle para 1.5.0 ou mais recente e clique em OK.

      O Gradle sincroniza o projeto.

    4. Na visualização Android da janela Project, clique com o botão direito do mouse na pasta res e selecione New > Vector Asset.

      O Vector Asset Studio é exibido.

  5. Continue em Importar um gráfico vetorial.

Importar um gráfico vetorial

O Vector Asset Studio ajuda a importar um arquivo de gráfico vetorial para o projeto do app. Siga um destes procedimentos:

Adicionar um ícone do Material Design

Depois de abrir o Vector Asset Studio, é possível adicionar um ícone do Material Design da seguinte forma:

  1. No Vector Asset Studio, selecione Clip art.

  2. No campo "Clip art", clique no botão.

  3. A caixa de diálogo Select Icon é exibida. Você pode filtrar quais ícones ficam visíveis selecionando uma categoria no menu ou inserindo sua opção no campo de pesquisa, conforme mostrado na figura 2.

    Figura 2. Filtrar ícones do Material Design no Vector Asset Studio.

    Selecione um ícone do Material Design e clique em OK. O ícone vai aparecer na Visualização de drawable vetorial.

  4. Opcionalmente, mude o nome, o tamanho, a opacidade e a configuração de espelhamento da direita para a esquerda (RTL) do recurso:

    • Name: se não quiser usar o nome padrão, digite um novo. O Vector Asset Studio cria automaticamente um nome exclusivo (adiciona um número ao final do nome) se esse nome de recurso já existir no projeto. O nome pode conter apenas caracteres minúsculos, sublinhados e dígitos.

    • Substituir: selecione essa opção se quiser ajustar o tamanho da imagem. Quando você digita um novo tamanho, a mudança aparece na área de visualização.

      O padrão é 24 x 24 dp, definido na especificação do Material Design. Desmarque a caixa de seleção para voltar ao padrão.

    • Opacity: use o controle deslizante para ajustar a opacidade da imagem. A mudança aparece na área de visualização.

    • Enable auto mirroring for RTL layout: selecione essa opção se você quiser uma imagem espelhada quando a direção do layout for da direita para a esquerda, não da esquerda para a direita. Por exemplo, alguns idiomas são lidos da direita para a esquerda. Se você tiver um ícone de seta, poderá ser necessário exibir uma imagem espelhada do ícone nesse caso. Se você estiver trabalhando com um projeto antigo, talvez também seja necessário adicionar android:supportsRtl="true" ao manifesto do app. O espelhamento automático é compatível com o Android 5.0 (nível da API 21) e versões mais recentes, bem como com o AndroidX.

  5. Clique em Próxima.

  6. Você também tem a opção de mudar o diretório dos módulos e recursos:

    • Res Directory: selecione o conjunto de origem do recurso onde você quer adicionar o drawable vetorial, ou seja, src/main/res, src/debug/res, src/release/res ou um conjunto de origem definido pelo usuário. O conjunto de origem principal é aplicado a todas as variantes de build, incluindo depuração e lançamento. Os conjuntos de origem de depuração e lançamento substituem o conjunto de origem principal e são aplicados a uma versão de um build. O conjunto de origem de depuração é usado apenas para depuração. Para definir um novo conjunto de origem, selecione File > Project Structure > app > Build Types. Por exemplo, você pode definir um conjunto de origem Beta e criar uma versão de ícone que inclua o texto "BETA" no canto inferior direito. Para saber mais, consulte Configurar variantes de build.

    A área Output Directories mostra o drawable vetorial e o diretório em que ele vai aparecer.

  7. Clique em Concluir.

    O Vector Asset Studio adiciona um arquivo XML que define o drawable vetorial ao projeto na pasta app/src/main/res/drawable/. Na visualização Android da janela Project, é possível ver o arquivo XML vetorial gerado na pasta drawable.

  8. Crie o projeto.

    Se o nível da API mínimo for Android 4.4 (nível da API 20) ou anterior e você não tiver ativado a técnica do AndroidX, o Vector Asset Studio vai gerar arquivos PNG. Na visualização Project Files da janela Project, é possível ver os arquivos PNG e XML gerados na pasta app/build/generated/res/pngs/debug/.

    Não edite os arquivos rasterizados gerados. Em vez disso, trabalhe com o arquivo XML vetorial. O sistema de build regenera automaticamente os arquivos rasterizados quando necessário para que eles não tenham que ser mantidos.

Importar um arquivo SVG ou PSD

Depois de abrir o Vector Asset Studio, é possível importar um arquivo SVG ou PSD da seguinte forma:

  1. No Vector Asset Studio, selecione Local file.

    O arquivo deve estar em uma unidade local. Se estiver localizado na rede, por exemplo, primeiro você precisará fazer o download dele para uma unidade local.

  2. Especifique um Image file clicando em .

    A imagem será exibida em Vector Drawable Preview.

    Se o arquivo SVG ou PSD tiver recursos incompatíveis, um erro vai aparecer na parte de baixo do Vector Asset Studio, conforme mostrado na figura 3.

    Figura 3. Vector Asset Studio mostrando alguns erros.

    Se forem exibidos erros, será necessário garantir a renderização correta do drawable vetorial importado. Role a lista para ver os erros.

    Para uma lista dos elementos com suporte, consulte Soluções de compatibilidade com versões anteriores de drawables vetoriais. Para mais informações sobre os arquivos PSD permitidos, consulte Compatibilidade e restrições para arquivos PSD.

  3. Opcionalmente, mude o nome, o tamanho, a opacidade e a configuração de espelhamento da direita para a esquerda (RTL) do recurso:

    • Name: se não quiser usar o nome padrão, digite um novo. O Vector Asset Studio cria automaticamente um nome exclusivo (adiciona um número ao final do nome) se esse nome de recurso já existir no projeto. O nome pode conter apenas caracteres minúsculos, sublinhados e dígitos.

    • Substituir: selecione essa opção para ajustar o tamanho da imagem. Assim, o tamanho será alterado com as dimensões da própria imagem. Sempre que você alterar o tamanho, a mudança será exibida na área de visualização. O padrão é 24 x 24 dp, definido na especificação do Material Design.

    • Opacity: use o controle deslizante para ajustar a opacidade da imagem. A mudança aparece na área de visualização.

    • Enable auto mirroring for RTL layout: selecione essa opção se você quiser uma imagem espelhada quando a direção do layout for da direita para a esquerda, não da esquerda para a direita. Por exemplo, alguns idiomas são lidos da direita para a esquerda. Se você tiver um ícone de seta, poderá ser necessário exibir uma imagem espelhada do ícone nesse caso. Observação: se você estiver trabalhando com um projeto antigo, talvez seja necessário adicionar android:supportsRtl="true" ao manifesto do app. O espelhamento automático é compatível com o Android 5.0 (nível da API 21) e versões mais recentes, além do AndroidX.

  4. Clique em Próxima.

  5. Se quiser, você poderá alterar o diretório de recursos:

    • Res Directory: selecione o conjunto de origem do recurso onde você quer adicionar o drawable vetorial, ou seja, src/main/res, src/debug/res e src/release/res ou um conjunto de origem definido pelo usuário. O conjunto de origem principal é aplicado a todas as variantes de build, incluindo depuração e lançamento. Os conjuntos de origem de depuração e lançamento substituem o conjunto de origem principal e são aplicados a uma versão de build. O conjunto de origem de depuração é usado apenas para depuração. Para definir um novo conjunto de origem, selecione File > Project Structure > app > Build Types. Por exemplo, você pode definir um conjunto de origem Beta e criar uma versão de um ícone que inclua o texto "BETA" no canto inferior direito. Para mais informações, consulte Configurar variantes de build.

    A área Output Directories mostra o drawable vetorial e o diretório em que ele vai aparecer.

  6. Clique em Concluir.

    O Vector Asset Studio adiciona um arquivo XML que define o drawable vetorial ao projeto na pasta app/src/main/res/drawable/. Na visualização Android da janela Project, é possível ver o arquivo XML vetorial gerado na pasta drawable.

  7. Crie o projeto.

    Se o nível da API mínimo for Android 4.4 (nível da API 20) ou anterior e você não tiver ativado a técnica do AndroidX, o Vector Asset Studio vai gerar arquivos PNG. Na visualização Project Files da janela Project, é possível ver os arquivos PNG e XML gerados na pasta app/build/generated/res/pngs/debug/.

    Não edite os arquivos rasterizados gerados. Em vez disso, trabalhe com o arquivo XML vetorial. O sistema de build regenera automaticamente os arquivos rasterizados quando necessário para que eles não tenham que ser mantidos.

Como referenciar um recurso vetorial no Jetpack Compose

Depois de usar o Vector Asset Studio para adicionar um recurso à pasta res/drawable, é possível fazer referência a ele no código.

No Jetpack Compose, a maneira mais comum de mostrar seu vetor é usando o elemento combinável Icon ou Image.

O elemento combinável Icon é a maneira padrão de mostrar recursos pequenos e monocromáticos. Ele oferece suporte integrado aos princípios do Material Design, como aplicação de coloração dinâmica com base em temas do Material 3 e acessibilidade automática por descrições de conteúdo.

Use a API painterResource para fornecer recursos vetoriais XML ao elemento combinável:

Icon(
    painter = painterResource(id = R.drawable.ic_speedometer),
    tint = MaterialTheme.colorScheme.primary, // Applies dynamic theme color
    contentDescription = "Current Speed", // Essential for accessibility
)

Para vetores complexos e multicoloridos, use o elemento combinável Image:

Image(
     painter = painterResource(id = R.drawable.ic_complex_vector),
     contentDescription = null // Decorative element
)

Para outros cenários complexos, como personalizar uma imagem ou otimizar o desempenho, consulte Trabalhar com imagens. Para animação de vetores, consulte Imagens vetoriais animadas no Compose.

Modificar código XML gerado pelo Vector Asset Studio

Você pode modificar o código XML do drawable vetorial, mas não os PNGs e o código XML correspondente gerados durante o tempo de build. No entanto, isso não é recomendável.

Quando você usa a técnica de geração de PNGs, o Vector Asset Studio verifica se o drawable vetorial e os PNGs são correspondentes e se o manifesto contém o código correto. Se você adicionar código indisponível no Android 4.4 (nível da API 20) ou anterior, as imagens vetorial e do PNG poderão ser diferentes. Também é preciso verificar se o manifesto contém o código compatível com as mudanças.

Para modificar o arquivo XML vetorial quando você não está usando a técnica do AndroidX:

  1. Na janela Project, clique duas vezes no arquivo XML vetorial gerado na pasta drawable.

    O arquivo XML será exibido no editor e nas janelas Preview.

    Figura 4. Arquivo XML vetorial exibido no Code Editor e na janela "Preview".

  2. Edite o código XML de acordo com o que é compatível com o nível da API mínimo:

    • Android 5.0 (nível da API 21) e versões mais recentes: o Vector Asset Studio é compatível com todos os elementos Drawable e VectorDrawable. É possível adicionar elementos XML e mudar os valores. No Jetpack Compose, é possível carregar o elemento de desenho vetorial em ImageVector para mais personalizações.

    • Android 4.4 (nível da API 20) e versões anteriores: o Vector Asset Studio é compatível com todos os elementos Drawable e um subconjunto dos elementos VectorDrawable. Consulte Soluções de compatibilidade de drawables vetoriais com versões anteriores para uma lista. É possível mudar valores no código gerado e adicionar elementos XML com suporte.

  3. Crie o projeto e verifique se o drawable vetorial e as imagens rasterizadas correspondentes têm a mesma aparência.

    Lembre-se de que os PNGs gerados podem ser exibidos de forma diferente na janela Preview e no app. Essa diferença é causada pelos mecanismos de renderização diferentes e pelas possíveis mudanças aplicadas no drawable vetorial antes de um build. Se você adicionar código ao arquivo XML vetorial criado pelo Vector Asset Studio, nenhum recurso incompatível no Android 4.4 (nível da API 20) ou anterior vai aparecer nos arquivos PNG gerados. Como resultado, quando você adicionar código, será sempre necessário verificar se os PNGs gerados correspondem ao drawable vetorial. Para isso, clique duas vezes no PNG na visualização Project Files da janela Project. A margem esquerda do Code Editor também exibe a imagem PNG quando o código faz referência ao drawable, conforme mostrado na figura 5.

    Figura 5. Imagem PNG exibida na margem esquerda do Code Editor.

Excluir um drawable vetorial de um projeto

Para excluir um drawable vetorial de um projeto:

  1. Na janela Project, exclua o arquivo XML vetorial gerado selecionando o arquivo e pressionando a tecla Delete ou selecione Edit > Delete.

    A caixa de diálogo Safe Delete será exibida.

  2. Também é possível selecionar opções para saber onde o arquivo é usado no projeto e clicar em OK.

    O Android Studio exclui o arquivo do projeto e da unidade. No entanto, se você optou por pesquisar os locais do projeto onde o arquivo é usado e alguns usos foram encontrados, é possível visualizá-los e decidir se quer excluir o arquivo.

  3. Selecione Build > Clean Project.

    Todos os arquivos PNG e XML gerados automaticamente e correspondentes ao drawable vetorial excluído serão removidos do projeto e da unidade.

Entregar um app que contém drawables vetoriais

Se você usou a técnica do AndroidX ou seu nível da API mínimo é o Android 5.0 (nível da API 21) ou mais recente, o APK conterá os drawables vetoriais adicionados com o Vector Asset Studio. Esses APKs vão ser menores do que se as imagens vetoriais fossem convertidas em PNGs.

Se o seu nível da API mínimo inclui o Android 4.4 (nível da API 20) ou anterior e você tem drawables vetoriais e imagens rasterizadas correspondentes no projeto, há duas opções para entregar os arquivos do APK:

  • Crie um APK que inclua os drawables vetoriais e as representações rasterizadas correspondentes. Essa solução é a mais simples de implementar.
  • Crie APKs separados para níveis de API diferentes. Quando você não inclui as imagens rasterizadas correspondentes no APK para o Android 5.0 (nível da API 21) ou mais recente, o APK pode ter um tamanho muito menor. Para mais informações, consulte Compatibilidade com vários APKs.

Compatibilidade e restrições para arquivos PSD

O Vector Asset Studio não é compatível com todos os recursos de arquivos PSD. A lista a seguir resume as características compatíveis e incompatíveis de arquivos PSD, bem como alguns detalhes de conversão.

Documento

Compatíveis:

  • Os modos de cor bitmap, grayscale, indexed, RGB, Lab ou CMYK de arquivos PSD
  • Uma profundidade de cor de 8, 16 ou 32 bits

Detalhes de conversão:

  • As dimensões do documento PSD se tornam as dimensões do drawable vetorial e da janela de visualização.

Não compatível:

  • Os modos de cor duotone ou multichannel de arquivos PSD

Formas

Compatíveis:

  • Máscaras de recorte, se a base do recorte for outra forma
  • Operações de forma, incluindo combinação/adição, interseção, subtração e exclusão

Não compatível:

  • Regra de preenchimento par-ímpar usada por formas do Photoshop. No Android 6.0 (API de nível 23) e anterior, os drawables vetoriais são compatíveis apenas com a regra de preenchimento não zero. Em formas com autointerseção, essa limitação pode levar a diferenças de renderização entre o PSD e o drawable vetorial resultante. Para corrigir esse problema, adicione android:fillType="evenOdd" à forma no drawable vetorial. Por exemplo:

    <vector xmlns:android="https://schemas.android.com/apk/res/android"
      android:viewportHeight="168"
      android:height="24dp"
      android:viewportWidth="209"
      android:width="24dp">
    
      <path
          android:fillAlpha="1.0"
          android:fillColor="#000000"
          android:fillType="evenOdd"
          android:pathData="M24,58 L24,167 L114,167 L114,66 M64,1 L64,96 L208,96 L208,8 M1,97 L146,139 L172,47"/>
    </vector>

Traços e preenchimentos

Compatíveis:

  • Traços, incluindo cor, opacidade, largura, união, extremidade, traços interrompidos e alinhamento
  • Preenchimentos e traços com cor sólida
  • Cores de traço e preenchimento especificadas como RGB, Lab ou CMYK

Detalhes de conversão:

  • Se um traço for tracejado, recortado usando uma base de recorte ou usar um alinhamento diferente do centro, o Vector Asset Studio o converterá em uma forma de preenchimento no drawable vetorial.

Não compatível:

  • Cores de preenchimentos e traços não sólidas, como gradientes

Opacidade

Compatíveis:

  • Camadas de forma com opacidade 0

Detalhes de conversão:

  • O Vector Asset Studio multiplica a opacidade do preenchimento pela opacidade da camada para calcular o alfa do preenchimento.
  • A ferramenta multiplica a opacidade da base de recorte (se existir) pelo alfa do preenchimento para calcular o alfa do preenchimento final.
  • A ferramenta multiplica a opacidade do traço pela opacidade da camada para calcular o alfa do traço.
  • A ferramenta multiplica a opacidade da base de recorte (se existir) pelo alfa do traço para calcular o alfa do traço final.

Camadas

Compatíveis:

  • Qualquer camada de forma visível

Detalhes de conversão:

  • O Vector Asset Studio preserva os nomes das camadas no arquivo do drawable vetorial.

Não compatível:

  • Efeitos de camada
  • Camadas de ajuste e texto
  • Modos de mistura (ignorados)

Compatibilidade e restrições para arquivos SVG

O Vector Asset Studio não é compatível com todos os recursos de arquivos SVG. A seção a seguir resume os recursos compatíveis e incompatíveis quando a ferramenta converte um arquivo SVG em um VectorDrawable, bem como alguns detalhes de conversão.

Recursos compatíveis

O VectorDrawable oferece suporte a todos os recursos do Tiny SVG 1.2 exceto para texto.

Formas

O VectorDrawable é compatível com caminhos SVG.

A ferramenta converte formas (link em inglês) primitivas, como círculos, quadrados e polígonos, em caminhos.

Transformações

A ferramenta é compatível com matrizes de transformação e as aplica diretamente a caminhos filhos.

Grupos

A ferramenta é compatível com elementos de grupos para translação, dimensionamento e rotação. Grupos não são compatíveis com propriedades de opacidade.

A ferramenta também aplica qualquer estilo de grupo ou opacidade a caminhos filhos.

Preenchimentos e traços

Os caminhos podem ser preenchidos e traçados com cores sólidas ou gradientes (linear, radial ou angular). Apenas traços centralizados são compatíveis. Modos de mistura não são compatíveis. Caminhos tracejados não são compatíveis.

Máscaras

A ferramenta é compatível com uma máscara de recorte por grupo.

Recursos incompatíveis com o importador de SVG

Qualquer recurso não listado na seção Recursos compatíveis acima é incompatível. Veja alguns recursos incompatíveis importantes:

  • Efeitos de filtro: efeitos como sombra projetada, desfoques e matriz de cor não são compatíveis.
  • Texto: recomendamos que a conversão de texto em formas seja feita com outras ferramentas.
  • Preenchimentos de padrões.

Outros recursos

Para mais informações sobre gráficos vetoriais, consulte os seguintes recursos adicionais:

Documentação

Visualiza conteúdo