studio rounded oreo mipmap iconos icon ic_launcher_round asset android android-studio-3.0 android-mipmap

rounded - mipmap android 8



¿Qué es mipmap-anydpi-v26 en el directorio res en Android Studio 3.0? (3)

Android Studio 3 crea un icono adaptativo para su aplicación que solo está disponible en SDK 26 y superior. Los iconos del iniciador se deben colocar en las carpetas de mipmap.

Si miras tu manifiesto, puedes ver que hace referencia a ic_launcher

android:icon="@mipmap/ic_launcher"

Si miras en tu carpeta mipmap, verás tus 5 iconos normales de inicio diferentes que se usarán para cualquier cosa inferior al SDK 26. Para SDK 26 en adelante, utiliza los archivos XML de la carpeta anydpi-v26 para usar el icono adaptativo .

<?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="@mipmap/ic_launcher_foreground"/> </adaptive-icon>

En Android Studio 3.0, una vez que creamos un proyecto, una carpeta llamada mipmap-anydpi-v26 se crea automáticamente en el directorio res . ¿Qué es lo que realmente hace? ¿Por qué lo necesitamos? ¿Cómo lo utilizaremos para propósitos de desarrollo?

Además, hay dos archivos XML creados automáticamente en esta carpeta después de la configuración del proyecto. ¿Por qué estos archivos XML residen en una carpeta mipmap? Pensé que deberíamos mantener todos los archivos XML en una carpeta dibujable en lugar de mipmap.


He encontrado una explicación sobre esto, aquí hay un poco de contexto:

Para agregar un ícono adaptable que reemplaza a todos los PNG en dispositivos API 26+, agregará un archivo res/mipmap-anydpi-v26/ic_launcher.xml que tiene este aspecto:

<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"/> </adaptive-icon>

Al colocarlo en la carpeta mipmap-anydpi-v26 , el sistema de recursos lo usará con preferencia sobre cualquier archivo en las otras carpetas de ppp (exactamente lo que quiere, ya que este archivo los está reemplazando a todos) y que solo debe usarse en API 26+ dispositivos.


Las dos respuestas anteriores dan un buen resumen de lo que hace la carpeta mipmap-anydpi-v26 , pero siento por qué falta una parte. Así que aquí están mis 2 centavos.

anydpi : Estos recursos tienen prioridad en cualquier dpi. Entonces, incluso si tiene mipmap-hdpi o mipmap-hdpi mipmap-mdpi coinciden con la densidad de los dispositivos actuales, el recurso de mipmap-anydpi siempre será recogido.

anydpi-v26 : Este es un filtro adicional sobre justdpi. Esto indica que los recursos siempre se anydpi-v26 de anydpi-v26 independientemente de la densidad de los dispositivos solo si el nivel de SDK / API es 26 o superior (Oreo).

Así que puedes tener mipmap-anydpi-v26 o drawable-anydpi-v26. Todas las carpetas de recursos seguirán la lógica anterior.

Ahora que sabemos la respuesta de "¿por qué mipmap-anydpi-v26"? intentemos entender por qué "mipmap-anydpi-v26 / ic_launcher.xml".

Esto se debe a que ic_launcher.xml se usa para describir un icono adaptativo para su aplicación que solo está disponible en SDK 26 y superior, como se menciona en otras respuestas. Espero que esto ayude.