Est-il possible de charger un modèle du dossier d'actifs?

Pouvez-vous charger un dessinable à partir d'un répertoire secondaire dans le dossier de l' assets (pas le dossier dédié)?

  • Numérisation d'empreintes digitales Android à l'aide d'un appareil Samsung
  • Appareil photo dans l'application phonegap. Redémarrage de l'application
  • Différence entre la dimension Android: pt et dp
  • Cordova / Phonegap Android - Problème Java / Ant sur la construction?
  • Est-ce que des variations de gestes dans la bibliothèque de gestes améliorent la reconnaissance?
  • Existe-t-il un moyen de revenir à Typeface.SERIF dans StaticLayout?
  • 7 Solutions collect form web for “Est-il possible de charger un modèle du dossier d'actifs?”

    J'espère que cette aide:

     Drawable d = Drawable.createFromStream(getAssets().open("Cloths/btn_no.png"), null); 

    Je recommande d'utiliser ce

      Drawable.createFromResourceStream(resources,new TypedValue(), resources.getAssets().open(filename), null) 

    Qui retourne correctement mis à l'échelle, attirable grâce aux ressources …

    Oui, vous pouvez créer un objet Drawable partir d'un InputStream à l'aide de la méthode createFromStream () .

    Voici une fonction qui vous convient.

    Vérifiez la variable Drawable retournée pour null car nul peut retourner si le chemin d'accès est invalide ou s'il existe une exception 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; } 

    Voici une classe avec une méthode statique pour obtenir le drawable des actifs. Il ferme également le inputtream.

     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; } } 

    Cela a permis d'obtenir la bonne densité

     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; } 

    Dans cette version, vous ne pouvez pas, si vous créez un sous-dossier dans votre dossier dessiné, vous ne pouvez pas l'utiliser dans votre fichier xml, il ne sera pas reconnu lorsque vous utilisez Android: src.

    Jetez un coup d'oeil à ce sujet: Le répertoire Android peut-il contenir des sous-répertoires?

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.