¿Se puede cargar un archivo dibujable desde un subdirectorio en la carpeta assets
(no en la carpeta dibujable)?¿Es posible cargar un dibujo de la carpeta de activos?
Respuesta
Esperanza esta ayuda:
Drawable d = Drawable.createFromStream(getAssets().open("Cloths/btn_no.png"), null);
En esta versión no puede, si hace una subcarpeta dentro de su carpeta dibujable no puede usarla en su archivo xml, no se reconocerá cuando use android: src.
Tome un vistazo a este tema: Can the Android drawable directory contain subdirectories?
En ese caso, ¿cuál es la forma más fácil de cargar un par de cientos de mosaicos de mapas personalizados para mostrar en la pantalla? – Jamie
Ah, mi pregunta es sobre la carpeta de activos, no el dibujable. Pregunta editada. – Jamie
Esta respuesta no está actualizada ahora que la pregunta se ha actualizado. – styler1972
sí se puede crear un objeto a partir de una Drawable
InputStream
utilizando el método createFromStream().
¿es posible para los dibujables en la carpeta dibujable también? Si es así, ¿cómo? –
@chiragshah No entiendo. El sistema convierte las imágenes en el directorio dibujable por usted. –
Necesito una forma rápida de cargar imágenes desde la carpeta de activos ya que tengo un montón de mosaicos de mapas con los mismos nombres pero con diferentes directorios. – Jamie
recomiendo utilizar este
Drawable.createFromResourceStream(resources,new TypedValue(), resources.getAssets().open(filename), null)
que devuelve correctamente escalado dibujable gracias a los recursos ...
warrning: este método causa una excepción en HTC Desire HD, no me preguntes por qué ... – David
Esto ayudó a conseguir la densidad adecuada
private Drawable drawableFromAssetFilename(String filename) {
AssetManager assetManager = mApplicationContext.getAssets();
InputStream inputStream = null;
try {
inputStream = assetManager.open(filename);
} catch (IOException e) {
e.printStackTrace();
}
Bitmap bitmap = BitmapFactory.decodeStream(inputStream);
BitmapDrawable drawable = new BitmapDrawable(mApplicationContext.getResources(), bitmap);
return drawable;
}
Aquí está la función que hace esto por usted.
Compruebe la variable Drawable devuelta para null, ya que null puede regresar si la ruta de acceso no es válida o si hay una IOException.
public static Drawable getDrawableFromAssetFolder(String fullPath, Activity ctx) {
Drawable d =null;
try {
d = Drawable.createFromStream(ctx.getAssets().open(fullPath), null);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return d;
}
Aquí hay una clase con método estático para obtener el dibujable de los activos. También cierra el inputstream.
import android.content.Context;
import android.graphics.drawable.Drawable;
import java.io.IOException;
import java.io.InputStream;
/**
* Created by bartburg on 4-11-2015.
*/
public class AssetsReader {
public static Drawable getDrawableFromAssets(Context context, String url){
Drawable drawable = null;
InputStream inputStream = null;
try {
inputStream = context.getAssets().open(url);
drawable = Drawable.createFromStream(inputStream, null);
} catch (IOException e) {
e.printStackTrace();
} finally {
if(inputStream != null) {
try {
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return drawable;
}
}
- 1. Cargar archivos mayores a 1M desde la carpeta de activos
- 2. ¿Es posible tener un dibujo animado dibujable?
- 3. ¿Es posible rotar un dibujo en la descripción xml?
- 4. compartir imágenes androide de activos carpeta
- 5. ¿Cómo cargar una imagen de los activos?
- 6. ¿cómo podemos eliminar un archivo de la carpeta de activos en tiempo de ejecución en android?
- 7. Quiero jugar un video de mis activos o carpeta prima
- 8. ¿Es posible cargar una carpeta completa en lugar de múltiples archivos usando Javascript?
- 9. ¿Cuál es la mejor manera de cargar una carpeta a un sitio web?
- 10. Tortuga: ¿es posible ignorar la nueva carpeta antes de enviarla?
- 11. Copie el archivo a la carpeta de activos
- 12. ¿Es posible verificar si los servicios de localización están activos?
- 13. ¿Cómo acceder al archivo en la carpeta de activos?
- 14. leer el archivo XML de la carpeta Android activos
- 15. ¿Es posible cargar una base de datos en la RAM?
- 16. ¿Cuál es el camino a la carpeta de "activos" de sus aplicaciones en Android?
- 17. No se pudo actualizar un archivo en la carpeta de activos de la aplicación Android
- 18. Copiar la base de datos de la carpeta de activos en un dispositivo sin raíz
- 19. ¿Cómo escribir archivos en la carpeta de activos o la carpeta sin formato en Android?
- 20. Carpeta de seguridad de los activos de Android
- 21. Android: ¿Cómo encontrar la ruta absoluta de la carpeta de activos?
- 22. activos de rake: la precompilación es lenta
- 23. ¿Es posible usar Ajax para cargar archivos?
- 24. ¿Es posible limitar el tamaño de la carpeta en un entorno de Windows?
- 25. ¿Es posible cargar gzip javascript comprimido sin un servidor web?
- 26. ¿Cargar imagen de la carpeta en la solución?
- 27. ¿Es posible mostrar todos los jQuery bind() 's activos?
- 28. Cómo guardar de nuevo en un archivo en la carpeta de activos
- 29. ¿Es posible volver a cargar la vista sin reiniciar Django?
- 30. Cómo guardar y cargar líneas de dibujo iphone SDK
Solo me pregunto, ¿el archivo está cerrado automáticamente para usted? Por seguridad, actualmente le doy a una variable el retorno de open(), luego la cierro manualmente. –
@DatVM no, no cierra automáticamente la intensidad de entrada. Creé una clase con método estático para obtener el dibujable de los activos y lo agregué como una respuesta separada a continuación. –