Cómo definir animaciones personalizadas
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
Esta página ya no está disponible. Consulta más abajo para ver la nueva ubicación de la documentación que estaba aquí.
Cómo personalizar la respuesta táctil
La respuesta táctil de Material design brinda una confirmación visual instantánea al momento de contacto cuando los usuarios interactúan con los elementos de la IU. Las animaciones predeterminadas de la respuesta táctil para botones usan la nueva clase RippleDrawable
, que realiza una transición entre diferentes estados con un efecto de ondas.
En la mayoría de los casos, debes aplicar esta funcionalidad en tu vista de XML especificando el fondo de la siguiente manera:
?android:attr/selectableItemBackground
para un efecto de ondas con límites.
?android:attr/selectableItemBackgroundBorderless
para un efecto de ondas que se extiende más allá de la vista. Se lo dibujará en el elemento principal más cercano de la vista (que lo limitará) con un fondo de valor no nulo.
Nota: selectableItemBackgroundBorderless
es un nuevo atributo que se introdujo en el nivel de API 21.
También puedes definir un RippleDrawable
como un recurso XML usando el elemento ripple
.
Puedes asignar un color a los objetos RippleDrawable
. Para cambiar el color de la respuesta táctil predeterminada, usa el atributo android:colorControlHighlight
del tema.
Para obtener más información, consulta la referencia de la API para la clase RippleDrawable
.
Cómo usar el efecto revelar
Consulta cómo crear una animación con efecto revelar circular.
Cómo personalizar transiciones de actividades
Consulta cómo iniciar una actividad con una animación.
Cómo usar movimientos curvos
Consulta cómo usar movimientos curvos.
Cómo animar los cambios de estado de las vistas
Consulta cómo usar StateListAnimator para animar los cambios de estado de las vistas.
Cómo animar interfaces dibujables con vectores
Consulta Cómo animar gráficos dibujables.
El contenido y las muestras de código que aparecen en esta página están sujetas a las licencias que se describen en la Licencia de Contenido. Java y OpenJDK son marcas registradas de Oracle o sus afiliados.
Última actualización: 2025-07-27 (UTC)
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 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)."]]