Como definir animações personalizadas
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Esta página está obsoleta. Veja abaixo o novo local da documentação que costumava estar aqui.
Personalizar feedback de toque
Os feedbacks de toque no Material Design fornecem confirmação visual instantânea no ponto de contato quando os usuários interagem com elementos da IU. As animações de feedback de toque padrão
para botões usam a nova classe RippleDrawable
, que passa por transições
entre diferentes estados com um efeito de ondulação.
Na maioria dos casos, você precisa aplicar essa funcionalidade no XML de visualização especificando o plano de fundo da visualização como:
?android:attr/selectableItemBackground
para uma ondulação delimitada;
?android:attr/selectableItemBackgroundBorderless
para uma ondulação que se estenda além
da visualização. Ela será desenhada sobre e delimitada pelo pai mais próximo da visualização com um segundo plano não nulo.
Observação:selectableItemBackgroundBorderless
é um novo
atributo introduzido no nível 21 da API.
Como alternativa, você pode definir um RippleDrawable
como um recurso XML usando o elemento ripple
.
É possível atribuir uma cor a objetos RippleDrawable
. Para mudar
a cor do feedback de toque padrão, use o atributo android:colorControlHighlight
do tema.
Para mais informações, consulte a referência da API para a classe RippleDrawable
.
Usar o efeito de revelação
Consulte Criar uma animação de revelação circular.
Personalizar transições de atividades
Consulte Iniciar uma atividade com uma animação.
Usar movimento curvado
Consulte Usar movimento curvado.
Animar mudança de estado da visualização
Consulte Como usar StateListAnimator para animar as alterações de estado de visualização.
Animar drawables de vetor
Consulte Animar gráficos drawables.
O conteúdo e os exemplos de código nesta página estão sujeitos às licenças descritas na Licença de conteúdo. Java e OpenJDK são marcas registradas da Oracle e/ou suas afiliadas.
Última atualização 2025-07-27 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-07-27 UTC."],[],[],null,["# Defining Custom Animations\n\n**This page is deprecated.** See below for the new location for\ndocumentation that used to be here.\n\nCustomize Touch Feedback\n------------------------\n\nTouch feedback in material design provides an instantaneous visual confirmation at the\npoint of contact when users interact with UI elements. The default touch feedback animations\nfor buttons use the new [RippleDrawable](/reference/android/graphics/drawable/RippleDrawable) class, which transitions\nbetween different states with a ripple effect.\n\nIn most cases, you should apply this functionality in your view XML by specifying the view\nbackground as:\n\n- `?android:attr/selectableItemBackground` for a bounded ripple.\n- `?android:attr/selectableItemBackgroundBorderless` for a ripple that extends beyond the view. It will be drawn upon, and bounded by, the nearest parent of the view with a non-null background.\n\n**Note:** `selectableItemBackgroundBorderless` is a new\nattribute introduced in API level 21.\n\nAlternatively, you can define a [RippleDrawable](/reference/android/graphics/drawable/RippleDrawable)\nas an XML resource using the `ripple` element.\n\nYou can assign a color to [RippleDrawable](/reference/android/graphics/drawable/RippleDrawable) objects. To change\nthe default touch feedback color, use the theme's `android:colorControlHighlight`\nattribute.\n\nFor more information, see the API reference for the [RippleDrawable](/reference/android/graphics/drawable/RippleDrawable) class.\n\nUse the Reveal Effect\n---------------------\n\nSee [Create a circular reveal animation](/training/animation/reveal-or-hide-view#Reveal).\n\n\nCustomize Activity Transitions\n------------------------------\n\nSee [Start an Activity with an Animation](/training/transitions/start-activity).\n\nUse Curved Motion\n-----------------\n\nSee [Use curved motion](/training/animation/reposition-view#CurvedMotion).\n\nAnimate View State Changes\n--------------------------\n\nSee [Using StateListAnimator to\nanimate view state changes](/guide/topics/graphics/prop-animation#ViewState).\n\nAnimate Vector Drawables\n------------------------\n\nSee [Animate Drawable Graphics](/guide/topics/graphics/drawable-animation)."]]