2011-05-25 2 views
42

Quelle est la signification du deuxième paramètre de la méthode Drawable.createFromStream()?Android, Drawable.createFromStream (is, srcname): quel est le sens du second paramètre?

des API Android Je ne reçois:

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

Dans tous les exemples que je l'ai lu, je vois qu'ils utilisent la chaîne « src »: est-ce le nom du répertoire dans lequel le drawable est mis en mémoire cache, par rapport à mon racine de l'application dir?

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

Répondre

45

Il est fondamentalement inutile:

Basé sur Froyo source, il est utilisé lors de la création d'images de neuf correctifs de la ressource, mais pas lors de la création d'une Bitmap régulière:

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 par suivant le code Drawable:

createFromStream retours:

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

qui utilise à son tour:

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

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

Enfin, vous obtenez à la déclaration NinePatch:

public class NinePatch 

Créer une projection pouvant être dessinée à partir d'un bitmap à neuf patches.

Paramètres:

bitmap Le bitmap décrivant les patches. Le bloc de données 9-patch décrivant comment le bitmap sous-jacent est divisé et dessiné.

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

Questions connexes