web-dev-qa-db-fra.com

Android, Drawable.createFromStream (is, srcname): quelle est la signification du 2ème paramètre?

Quelle est la signification du deuxième paramètre de la méthode Drawable.createFromStream ()?

De Android APIs je reçois seulement:

public static Drawable createFromStream (InputStream is, String srcName)
Create a drawable from an inputstream

Dans tous les exemples que j'ai lus, je vois qu'ils utilisent la chaîne "src": est-ce le nom du répertoire où le drawable est mis en cache, par rapport au répertoire racine de mon application?

Une question parallèle: où suis-je censé trouver Android (par exemple de la méthode Drawable.createFromStream () ...), pour éviter de telles questions idiotes, à l'avenir?

45
MarcoS

C'est fondamentalement inutile :

Basé sur source Froyo , il est utilisé lors de la création d'images à neuf patchs à partir de la ressource, mais pas lors de la création d'un bitmap normal:

852 private static Drawable drawableFromBitmap(Resources res, Bitmap bm, byte[] np,
853         Rect pad, String srcName) {
854
855     if (np != null) {
856        return new NinePatchDrawable(res, bm, np, pad, srcName);
857     }
858
859     return new BitmapDrawable(res, bm);
860  }

Vous y arrivez en suivant le code Drawable:

createFromStream renvoie:

return createFromResourceStream(null, null, is, srcName, null);

qui à son tour utilise:

return drawableFromBitmap(res, bm, np, pad, srcName);

(np vient de Bitmap#getNinePatchChunk();) et ceci appelle:

return new NinePatchDrawable(res, bm, np, pad, srcName);

Enfin, vous arrivez à la déclaration NinePatch:

public class NinePatch

Créez une projection dessinable d'une image bitmap à neuf patchs.

Paramètres :

bitmap Le bitmap décrivant les correctifs.

chunk Le bloc de données à 9 patchs décrivant comment le bitmap sous-jacent est séparé et dessiné.

srcName Le nom de la source du bitmap. Peut être nul .

47
Aleadam