2013-05-23 3 views
13

から描画可能リソースを取得し、私はこの方法でウリで描画可能リソースパスを格納しています:がウリ

Uri uri = Uri.parse("android.resource://my_app_package/drawable/drawable_name"); 

は、どのように私はURIが参照していることをDrawableのを得るのですか?

ImageViewに配置したくないのですが、Drawable(またはBitmap)オブジェクトを取得するだけです。

is = cr.openInputStream(uri) 

をし、最終的に呼び出します:

答えて

42

getContentResolver cr objectその後、呼び出しあなたが自分で見ることができるように

Drawable.createFromStream(InputStream is, String srcName) 

を...ここでは、実際の作業コードの例です:

try { 
    InputStream inputStream = getContentResolver().openInputStream(yourUri); 
    yourDrawable = Drawable.createFromStream(inputStream, yourUri.toString()); 
} catch (FileNotFoundException e) { 
    yourDrawable = getResources().getDrawable(R.drawable.default_image); 
} 
+0

感謝!私は部分的な信用しか取れないので、@ pskinkの答えを編集することを選択しました(対新しい答えを提供する)。 – PeteH

+0

注: 'yourDrawable.setBounds(...)'を呼び出さなければならない場合もあります。これは 'TextView'の複合ドロアブルとして設定するような場合があります –

関連する問題