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é)?

  • Des exemples simples utilisant roboguice avec des fragments dans Android?
  • Cordova / Phonegap Android - Problème Java / Ant sur la construction?
  • En utilisant des coins arrondis éloignés
  • Comment ouvrir la "caméra avant" sur la plate-forme Android?
  • Comment créer des coins partiellement arrondis-rectangulaires éloignés avec cote centrale et sans créer un nouveau bitmap?
  • Quels sont les avantages et les inconvénients de l'utilisation de Phonegap et Titanium?
  • 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.