web-dev-qa-db-ja.com

Android、Drawable.createFromStream(is、srcname):2番目のパラメーターの意味は何ですか?

Drawable.createFromStream()メソッドの2番目のパラメーターの意味はどれですか?

Android私が取得するAPIのみ:

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

私が読んだすべての例では、文字列「src」を使用していることがわかります:それは、アプリケーションのルートディレクトリに相対的な、ドロアブルがキャッシュされるディレクトリの名前ですか?

並行する質問の1つ:今後、このようなばかげた質問を避けるために、Androidコアソース(たとえばDrawable.createFromStream()メソッドの...)を見つけることになっていますか?

45
MarcoS

基本的に役に立たない

Froyo source に基づいて、リソースから9パッチイメージを作成するときに使用されますが、通常のビットマップを作成するときは使用されません。

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

Drawableコードに従うことでそこに到達します:

createFromStreamは以下を返します。

_return createFromResourceStream(null, null, is, srcName, null);
_

次に使用するもの:

_return drawableFromBitmap(res, bm, np, pad, srcName);
_

(npはBitmap#getNinePatchChunk();から来ます)、これは以下を呼び出します:

_return new NinePatchDrawable(res, bm, np, pad, srcName);
_

最後に、NinePatch宣言に到達します。

_public class NinePatch
_

ビットマップから9つのパッチに描画可能な投影を作成します。

パラメータ

ビットマップパッチを説明するビットマップ。

chunk基になるビットマップがどのように分割され描画されるかを記述する9パッチのデータチャンク。

srcNameビットマップのソースの名前。 nullの可能性があります。

47
Aleadam