![]()
Un ícono adaptable, o AdaptiveIconDrawable, puede mostrarse de manera diferente
según las capacidades individuales del dispositivo y el tema del usuario. Los íconos adaptables se utilizan principalmente en el selector de la pantalla principal, pero también pueden utilizarse en accesos directos, la app de Configuración, los diálogos de uso compartido y la pantalla de descripción general. Los íconos adaptables se usan en todos los factores de forma de Android.
A diferencia de las imágenes de mapa de bits, los íconos adaptables pueden adaptarse a diferentes casos de uso:
Diferentes formas: Un ícono adaptable puede mostrar diferentes formas en distintos modelos de dispositivos. Por ejemplo, puede mostrar una forma circular en un dispositivo OEM y un cuadrado con esquinas redondeadas (una forma entre un cuadrado y un círculo) en otro. Cada dispositivo OEM debe proporcionar una máscara, que el sistema usa para procesar todos los íconos adaptables con la misma forma.
Figura 1. Los íconos adaptables admiten distintas máscaras que varían de un dispositivo a otro. Efectos visuales: Un ícono adaptable es compatible con una variedad de efectos visuales atractivos, que se muestran cuando los usuarios ubican o mueven el ícono en la pantalla principal.
Figura 2. Ejemplos de efectos visuales que muestra un ícono adaptable. Temas del usuario: A partir de Android 13 (nivel de API 33), los usuarios pueden aplicar temas a sus íconos adaptables. Si un usuario habilita los íconos de apps temáticos en la configuración del sistema y el selector es compatible con esta función, el sistema usará el color del fondo de pantalla y el tema que haya elegido el usuario para determinar el color de tono de los íconos de las apps que tienen una capa
monochromeen su ícono adaptable. A partir de Android 16 QPR 2, Android aplica automáticamente temas a los íconos de las apps que no proporcionan los suyos.
Figura 3: Íconos adaptables que heredan del fondo de pantalla y los temas del usuario. En las siguientes situaciones, la pantalla principal no muestra el ícono temático de la app. En su lugar, muestra el ícono adaptable o estándar de esta:
- Si el usuario no habilita los íconos temáticos de la app.
- Si tu app no proporciona un ícono de la app monocromático y el dispositivo del usuario ejecuta una versión anterior de Android que Android 16 QPR 2.
- Si el selector no es compatible con los íconos de apps temáticos.
Diseña íconos adaptables
Para asegurar que el ícono adaptable sea compatible con distintas formas, efectos visuales y temas del usuario, el diseño debe cumplir con los siguientes requisitos:
Debes proporcionar dos capas para la versión en color del ícono: una para el primer plano y otra para el segundo plano. Las capas pueden ser vectores o mapas de bits, aunque se prefieren los vectores.
Figura 4. Íconos adaptables definidos con capas de primer y segundo plano. La zona segura de 66 x 66 que se muestra es el área que nunca se corta con una máscara con forma definida por un OEM.
Figura 5. Un ejemplo de cómo se ven las capas de primer y segundo plano junto con una máscara circular aplicada. Si quieres admitir temas de usuario de íconos de apps, proporciona una sola capa para la versión monocromática del ícono.
Figura 6: Una capa de ícono monocromática (izquierda) con ejemplos de vistas previas de color (derecha). Ajusta el tamaño de todas las capas a 108 x 108 dp.
Usa íconos con bordes limpios. Las capas no deben tener máscaras ni sombras en segundo plano alrededor del contorno del ícono.
Usa un logotipo de al menos 48 x 48 dp. No debe exceder los 66 x 66 dp, ya que los 66 x 66 dp internos del ícono aparecen dentro de la ventana gráfica de la máscara.
Los 18 dp externos de cada uno de los cuatro lados de las capas se reservan para el enmascaramiento y para crear efectos visuales, como el paralaje o el destello.
Para obtener información sobre cómo crear íconos adaptables con Android Studio, consulta la plantilla de Figma de íconos de apps para Android o la documentación de Android Studio para crear íconos de selector. Además, lee la entrada de blog Diseña íconos adaptables.
Agrega tu ícono adaptable a tu app
Los íconos adaptables, al igual que los no adaptables, se especifican con el
android:icon atributo en el manifiesto
de la app.
Los selectores que representan apps con íconos circulares usan un atributo opcional, android:roundIcon, que puede ser útil si el ícono de tu app incluye un fondo circular como parte central de su diseño. Estos selectores deben generar íconos de apps aplicando una máscara circular a android:roundIcon, y esta garantía puede permitirte optimizar la apariencia del ícono de tu app, por ejemplo, agrandando ligeramente el logotipo y asegurándote de que, cuando se recorte, el fondo circular sea de sangrado completo.
En el siguiente fragmento de código, se ilustran ambos atributos, pero la mayoría de las apps solo especifican android:icon:
<application ... android:icon="@mipmap/ic_launcher" android:roundIcon="@mipmap/ic_launcher_round" ...> </application>
A continuación, guarda tu ícono adaptable en res/mipmap-anydpi-v26/ic_launcher.xml. Usa
el <adaptive-icon> elemento para definir los recursos de capa de primer plano, segundo plano y
monocromáticos para tus íconos. Los elementos internos <foreground>,
<background> y <monochrome> admiten imágenes vectoriales y de mapa de bits.
En el siguiente ejemplo, se muestra cómo definir los elementos <foreground>, <background> y
<monochrome> dentro de <adaptive-icon>:
<?xml version="1.0" encoding="utf-8"?> ... <adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> <background android:drawable="@drawable/ic_launcher_background" /> <foreground android:drawable="@drawable/ic_launcher_foreground" /> <monochrome android:drawable="@drawable/ic_launcher_foreground" /> </adaptive-icon> ...
Las capas de primer plano y monocromáticas usan el mismo elemento de diseño. Sin embargo, puedes crear elementos de diseño separados para cada capa si es necesario.
También puedes definir elementos de diseño como elementos intercalándolos en los elementos
<foreground>, <background>, y <monochrome>. En el siguiente fragmento, se muestra un ejemplo de cómo hacerlo con el elemento de diseño de primer plano.
<?xml version="1.0" encoding="utf-8"?> ... <foreground> <inset android:insetBottom="18dp" android:insetLeft="18dp" android:insetRight="18dp" android:insetTop="18dp"> <shape android:shape="oval"> <solid android:color="#0000FF" /> </shape> </inset> </foreground> ...
Si quieres aplicar la misma máscara y el mismo efecto visual que usas para los íconos adaptables normales en los accesos directos, usa una de las siguientes técnicas:
- Para accesos directos estáticos, usa el
<adaptive-icon>elemento. - Para accesos directos dinámicos, llama al
createWithAdaptiveBitmap()método cuando los crees.
Para obtener más información sobre la implementación de íconos adaptables, consulta Implementa íconos adaptables. Para obtener más información sobre los accesos directos, consulta Descripción general de los accesos directos de apps.
Recursos adicionales
Consulta los siguientes recursos para obtener información adicional sobre el diseño y la implementación de íconos adaptables.
- Plantilla de página de la comunidad de Figma
- Conoce más sobre los íconos adaptables de Android
- Diseña íconos adaptables
- Implementa íconos adaptables
- Crea íconos de apps en Android Studio
- Especificaciones de diseño de íconos de Google Play