У меня проблемы с отображением существующего изображения на SD-карте.
ImageView _photoView = (ImageView)findViewById(R.id.img_photo);
File photoFile = new File(Environment.getExternalStorageDirectory(), Session.PHOTO_FILE_NAME);
rawFileInputStream = new FileInputStream(photoFile);
Bitmap origPhoto = BitmapFactory.decodeStream(rawFileInputStream, null, new BitmapFactory.Options());
_photoView.setImageBitmap(origPhoto);
Log.d(TAG, origPhoto.getWidth() + " - " + origPhoto.getHeight());
Фотография существует, и размеры отображаются так, как показано, но в теге ImageView ничего не отображается
<ImageView
android:id="@+id/img_photo"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
Я попытался установить фиксированный размер высоты, но все еще не вижу фото.
Я видел несколько сообщений на SO по этой проблеме, но ни на одно из них еще не было дано ответа.
1253] Есть идеи?
** Обновить Если я загружаю файл напрямую, а не через файловый поток, он работает
Bitmap origPhoto = BitmapFactory.decodeFile("/mnt/sdcard/" + Session.PHOTO_FILE_NAME);
double scale = MAX_WIDTH * 1.0 / origPhoto.getWidth();
int height = (int)(origPhoto.getHeight() * scale);
Bitmap scaledPhoto = Bitmap.createScaledBitmap(origPhoto, MAX_WIDTH, height, true);
_photoView.setImageBitmap(origPhoto);
, но если я затем добавляю метод Bitmap.createScaledBitmap ()
, он больше не работает, и изображение не отображается.