Skip to content

Most visited

Recently visited

navigation

Como trabalhar com desenháveis

As seguintes capacidades dos desenháveis ajudam na implementação do Material Design nos aplicativos:

Esta lição mostra como usar esses recursos no seu aplicativo.

Colorir recursos desenháveis

Com o Android 5.0 (API de nível 21) e posteriores, você pode colorir bitmaps e nine-patches definidos como máscaras alfa. Você pode colori-los com recursos de cor ou atributos de tema que determinam os recursos de cor (por exemplo, ?android:attr/colorPrimary). Normalmente, você cria esses ativos somente uma vez e colore-os automaticamente para combinar com seu tema.

Você pode aplicar um tingimento aos objetos BitmapDrawable ou NinePatchDrawable com o método setTint(). Você também pode configurar a cor e o modo do tingimento nos layouts com os atributos android:tint e android:tintMode.

Extrair cores proeminentes de uma imagem

A Biblioteca de Suporte r21 do Android e posteriores incluem a classe Palette, que permite a extração de cores proeminentes de uma imagem. Essa classe extrai as seguintes cores proeminentes:

Para extrair essas cores, passe um objeto Bitmap para o método estático Palette.generate() no encadeamento do segundo plano em que você carrega as imagens. Se você não puder usar aquele encadeamento, chame o método Palette.generateAsync() e forneça um escutador como alternativa.

Você pode recuperar as cores proeminentes da imagem usando métodos de obtenção na classe Palette, como Palette.getVibrantColor.

Para usar a classe Palette no projeto, adicione a seguinte dependência do Gradle ao módulo do aplicativo:

dependencies {
    ...
    compile 'com.android.support:palette-v7:21.0.0'
}

Para obter mais informações, consulte a referência de API para a classe Palette .

Criar desenháveis de vetor

Vídeos

Gráficos de vetor do Android

No Android 5.0 (API de nível 21) e posteriores, você pode definir desenháveis de vetor que são dimensionáveis sem perder definição. Você precisa apenas de um arquivo de ativos para uma imagem de vetor, em vez de um arquivo de ativos para cada densidade de tela no caso de imagens de bitmap. Para criar uma imagem de vetor, defina os detalhes da forma dentro de um elemento XML <vector>.

O exemplo a seguir define uma imagem de vetor com a forma de um coração:

<!-- res/drawable/heart.xml -->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
    <!-- intrinsic size of the drawable -->
    android:height="256dp"
    android:width="256dp"
    <!-- size of the virtual canvas -->
    android:viewportWidth="32"
    android:viewportHeight="32">

  <!-- draw a path -->
  <path android:fillColor="#8fff"
      android:pathData="M20.5,9.5
                        c-1.955,0,-3.83,1.268,-4.5,3
                        c-0.67,-1.732,-2.547,-3,-4.5,-3
                        C8.957,9.5,7,11.432,7,14
                        c0,3.53,3.793,6.257,9,11.5
                        c5.207,-5.242,9,-7.97,9,-11.5
                        C25,11.432,23.043,9.5,20.5,9.5z" />
</vector>

Imagens de vetor são representadas no Android como objetos VectorDrawable . Para obter mais informações sobre a sintaxe pathData, consulte a Referência do caminho SVG. Para obter informações sobre como animar propriedades de desenháveis de vetor, consulte Animar desenháveis de vetor.

This site uses cookies to store your preferences for site-specific language and display options.

Get the latest Android developer news and tips that will help you find success on Google Play.

* Required Fields

Hooray!

Siga o Google Developers no WeChat

Browse this site in ?

You requested a page in , but your language preference for this site is .

Would you like to change your language preference and browse this site in ? If you want to change your language preference later, use the language menu at the bottom of each page.

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a short survey?
Help us improve the Android developer experience. (Dec 2017 Android Platform & Tools Survey)