2016-10-01 10 views
1

Я использую следующий код, чтобы загрузить мой образ в Android виджет ImageView:Загрузка изображений из активов в виджет RemoteView

remoteViews.setImageViewResource(R.id.widget_image, R.drawable.image); 

я должен сохранить изображение в drawable папке. Возможно ли сохранить изображение в активах и загрузить его в remoteView?

ответ

0

Использование BitmapFactory, вы можете загрузить изображение в assets/ как Bitmap из InputStream предоставленной AssetManager, а затем использовать метод RemoteViews#setImageViewBitmap(), чтобы установить его на ваш виджет.

Например:

RemoteViews remoteViews = new RemoteViews(context.getPackageName(), R.layout.widget); 
... 

try { 
    InputStream is = context.getAssets().open("image.jpg"); 
    Bitmap bmp = BitmapFactory.decodeStream(is); 

    remoteViews.setImageViewBitmap(R.id.widget_image, bmp); 
} 
catch (IOException e) { 
    e.printStackTrace(); 
} 
0

Вот решение:

imageView = (ImageView)findViewById(R.id.iv); 
     try { 
      // get input stream 
      InputStream ims = getAssets().open("download.jpg"); 
      // load image as Drawable 
      Drawable d = Drawable.createFromStream(ims, null); 
      // set image to ImageView 
      imageView.setImageDrawable(d); 
     } 
     catch(IOException ex) { 
      return; 
     }