Я пытаюсь отобразить изображение с URL-адреса, который может быть больше размеров экрана. У меня это работает, но я бы хотел, чтобы он масштабировался, чтобы соответствовать экрану, и у меня также возникают проблемы, когда меняется ориентация экрана. Изображение маленькое, и я хотел бы, чтобы оно масштабировало его ширину и на экране. (В обоих случаях я хотел бы изображение, чтобы заполнить всю ширину с скроллинга экрана (при необходимости по высоте)Показать изображение из проблем с ориентацией и ориентацией экрана
Вот мой ImageView:.
<ImageView android:id="@+id/ImageView01"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:scaleType="fitCenter"
android:adjustViewBounds="true">
</ImageView>
Вот Java-код, который загружает изображение: (некоторые обработки ошибок кода удалена для простоты)
Object content = null;
try{
URL url = new URL("http://farm1.static.flickr.com/150/399390737_7a3d508730_b.jpg");
content = url.getContent();
}
catch(Exception ex)
{
ex.printStackTrace();
}
InputStream is = (InputStream)content;
Drawable image = Drawable.createFromStream(is, "src");
Image01.setImageDrawable(image);
Я пробовал различные настройки для андроида:.. scaleType Я извиняюсь, если этот вопрос был задан, прежде чем я прошел через ряд учебных пособий по данной теме , но они, похоже, не работают для меня. Не уверен, что у него есть anythin g, чтобы сделать способ загрузки изображения. (из Интернета вместо локального ресурса)
Другая проблема заключается в том, что иногда изображение даже не загружается. Ошибок времени выполнения нет, я просто ничего не вижу в ImageView.
Пожалуйста, дайте мне знать, если вам нужна дополнительная информация или пояснения.
Спасибо за помощь с Min и Max ширина. Это сделало трюк, хотя мне нужно было поместить ImageView внутри ScrollView, если установка ширины заставила изображение превысить доступную высоту. – RMS2
Теперь, когда изображение не загружается (я использовал код Joregsys), я сталкиваюсь со всеми неприятностями. Похоже, что когда изображение не отображается, происходит то, что я получаю сообщение об ошибке «SkImageDecoder :: Factory возвращается null» при выполнении метода .createFromStream. Иногда это работает, и иногда я получаю это. Я попытался закрыть InputStream, чтобы сбросить буфер, но не уйти. Я пробовал обматывать эти строки кода через некоторое время (d == null), но тогда я просто получаю бесконечный цикл. – RMS2
У меня также проблемы с памятью, когда я поворачиваю экран. Если изображение загружается в первый раз, я получаю OutOfMemoryError при изменении ориентации. Изображение 1MB - маленькое с точки зрения цифровой фотографии, но, может быть, оно слишком велико для Android? Я думаю, что у меня возникают утечки памяти. Я попробовал Image01.getDrawable(). SetCallback (null); в операции onDestroy(), но это не помогает. – RMS2