tutorial studio iniciar from fragments con activity android android-studio android-resources

iniciar - ¿Maneras rápidas de importar drawables en Android Studio?



navigation drawer android studio (10)

En algún momento de un proyecto de Android, tendrá que importar algunos elementos dibujables (ya sean iconos de la barra de herramientas, imágenes, funciones de interfaz de usuario) en el directorio res/drawable . La mayoría de las veces tiene imágenes escaladas para los calificadores más comunes ( drawable-hdpi drawable-mdpi , drawable-xdpi drawable-xxdpi , drawable-xxdpi , drawable-xxdpi , ...).

Así que tenemos que hacer tres, cuatro, hasta cinco copias / pases de archivo para cada dibujable:

external_dir/drawable-mdpi/file.png -> my_package/drawable-mdpi/file.png external_dir/drawable-hdpi/file.png -> my_package/drawable-hdpi/file.png external_dir/drawable-xdpi/file.png -> my_package/drawable-xdpi/file.png external_dir/drawable-xxdpi/file.png -> my_package/drawable-xxdpi/file.png

Eso es molesto si tienes que importar varias fotos. ¿Existe una manera fácil y rápida de transferir estas cuatro instancias de file.png directamente en la carpeta del paquete correspondiente? Alguna función implementada en el IDE? ¿Alguna solución fácil?

Mi flujo de trabajo hasta ahora ha sido:

  • copiar / pegar desde el administrador de archivos del sistema operativo, desde el directorio externo al paquete, y luego actualizar los archivos de recursos en Android Studio. Eso implica abrir cada uno de los subdirectorios calificados, entonces cuatro movimientos;
  • desde el administrador de archivos del sistema operativo, vaya a file.png , busque file.png , obtenga las cuatro instancias en una sola lista, arrastre y suelte en Android Studio, luego, para cada imagen, haga clic derecho en la barra de navegación, Copy y Paste en el directorio del paquete correspondiente . ¡Realmente no mejor!

¿Algún consejo?

Editar - En realidad, no estoy pidiendo "consejos", quiero saber si hay una forma de reducir el número de movimientos a uno (o tal).


  1. Seleccione el directorio "res"
  2. Haga clic derecho y seleccione "Comparar con"
  3. Encuentre el directorio de donde provienen sus productos descartables
  4. Ocultar cambios salientes
  5. Seleccione todos los cambios entrantes y haga clic en la flecha para sincronizar.

Como mencionó Rob Meeuwisse en un comentario anterior, puedes hacerlo en una acción de copiar y pegar. En lugar de copiar y pegar cada uno de los archivos uno por uno, puede seleccionar las cuatro carpetas drawable-XXXX dibujables (¡no las imágenes mismas!) En el administrador de archivos del sistema operativo al mismo tiempo (haciendo Ctrl clic en Windows / Linux o Command -clic en OS X), copie todas estas carpetas y luego péguelas en la carpeta res en Android Studio.

Las imágenes se pegarán automáticamente en la carpeta dibujable apropiada en res . Esto funciona porque si Android Studio nota que está copiando y pegando una carpeta que ya existe en el proyecto, simplemente usará la carpeta existente y pegará lo que falta en lugar de reemplazar / descartar los archivos que ya están allí.



Con Mac OS X Finder puedes simplemente copiar / pegar las carpetas drawable-mdpi , drawable-mdpi , drawable-mdpi drawable-hdpi , drawable-xdpi drawable-xxdpi en un solo movimiento a my_package/ y luego seleccionar la opción Merge en el cuadro de diálogo del Finder que aparece. Esto agregará los nuevos archivos a las carpetas correspondientes en my_package/ .

Sin embargo, tenga en cuenta que esto solo es posible si las carpetas de origen y de destino no contienen ningún archivo con nombre idéntico.


En su Android Studio, haga clic con el botón derecho en Drawable -> New -> Image Asset -> Asset Type: Action Bar and Tab Icons. Archivo de imagen: ruta de la imagen, Nombre del recurso: nombre de la imagen -> Siguiente -> Finalizar

Hecho

Esto agregará 4 tamaños diferentes de su imagen para que quepa en función del tamaño del dispositivo


La manera más sencilla y rápida es copiar y pegar todo en una sola toma solo si tiene una imagen en la carpeta ya formateada como se menciona a continuación.

  • Descargue cualquier imagen de Meterial Icons https://material.io/icons/

  • La carpeta descargada contiene todos los niveles de carpetas dibujables (mdpi, hdpi, ect ..)

  • Simplemente copie todas las carpetas y péguelas en la carpeta de res. Aquí la carpeta no reemplaza, solo la nueva imagen agregará una imagen existente.


Normalmente lo hago de una manera muy simple: utilizo this herramienta para generar mis imágenes directamente en los nombres correctos de las carpetas: solo tiene que abrir la herramienta y arrastrar sobre ella la imagen más grande (por ejemplo, la que quiere usar para xhdpi). carpeta o carpeta xxhdpi): la herramienta creará en la carpeta de la imagen original todas las demás carpetas (mdpi, ldpi, hdpi, etc.) que contengan la imagen escalada correctamente. Una vez que tenga estas carpetas, solo tiene que pegarlas en la carpeta res, ¡HECHO!


Parece que la forma de hacerlo es arrastrar y soltar los recursos a AS. Por ejemplo. Tenemos un montón de imágenes, tomamos todas las imágenes xxhdpi y las colocamos en AS y luego le preguntamos qué resolución son esas imágenes, así que elegimos del pouup xxhdpi ... luego, todas las imágenes en xhdpi drop vuelven a elegir xhdpi de emergente, y esa es la forma de importar activos a AS, y así sucesivamente con cada resolución.


Si descarga sus iconos desde https://material.io/icons/ , puede usar la siguiente función Bash para importar varios íconos de una sola vez:

import_icons() { project_dir=${1%/} shift 1 for zip in "$@"; do unzipped_dir=${zip%.*} echo $(basename "$unzipped_dir") unzip "$zip" -d $(dirname "$zip") >/dev/null cp -R "$unzipped_dir"/android/* "$project_dir/app/src/main/res" done }

Ejemplo de uso:

$ import_icons ~/Projects/MyProject ic_1.zip ic_2.zip ic_3.zip

cp -R copia los diversos mdpi fuente mdpi , hdpi , etc. y los combina para usted con los existentes. Si la estructura del directorio de su paquete de iconos es diferente, simplemente modifique el primer argumento a cp .


Mi respuesta el 16 de enero de 2017.

Dos años más tarde, Android Studio tiene una manera de importar Image Assets . Pero quería agregar un nuevo comentario. Android ahora es compatible con los Vectors , por lo que no tiene que preocuparse por las diferentes resoluciones. Sugiero usar Vector y VectorDrawable .

Simplemente haga clic con el botón derecho en el nombre de su aplicación en Project -> New -> Vector Asset .

Solo sigue al asistente.

Saludos, Pedro.

Mi respuesta el 18 de febrero de 2015.

Si no me malinterpretan, esto es lo que hago en mis proyectos de Android Studio (AS).

Descubrí que solo necesitamos importar el recurso de mayor resolución; AS los escalará por ti. Les pido a mis diseñadores que solo generen archivos xxhdpi y luego.

Vaya a la carpeta /res en el navegador del Project , haga clic con el botón derecho y seleccione New -> Image Asset

Asset Studio aparecerá

Allí puedes,

  • Seleccione su tipo de activo

[Icono del iniciador, iconos de la barra de acciones, iconos de notificaciones]

  • Explorar su archivo original
  • Nombra tu recurso

Después de haber completado toda la información. Su recurso será importado en AS.

Como nota general. Para íconos internos que no sean los íconos del iniciador, seleccioné como tipo "icono de inicio" y funcionan perfectamente.

Espero que esto ayude.

Mejor, Pedro.