2017-01-31 23 views
1

Я пытаюсь использовать Universal Image Loader (UIL) в своем тестовом проекте, и я думаю, что у меня возникают проблемы с загрузкой изображений, когда их высота больше их ширины. Изображения, загруженные UIL в мое изображение, слишком малы, даже если изображения на самом деле большие по размеру. Поэтому, когда я растягиваю изображения, чтобы соответствовать их родителям, изображения кажутся сильно размытыми и низкими.Универсальный загрузчик изображений (UIL) делает изображения слишком маленькими при загрузке изображений в изображениях

Но UIL загружает мои изображения правильно, когда их высота меньше или равна их ширине.

Вот мой Java код:

DisplayImageOptions defaultOptions = new DisplayImageOptions.Builder() 
      .cacheOnDisk(true) 
      .imageScaleType(ImageScaleType.NONE) 
      .bitmapConfig(Bitmap.Config.ARGB_8888) 
      .build(); 
File cacheDir = StorageUtils.getCacheDirectory(getApplicationContext()); 
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(getApplicationContext()) 
      .defaultDisplayImageOptions(defaultOptions) 
      .threadPoolSize(1) 
      .diskCache(new UnlimitedDiskCache(cacheDir)) 
      .diskCacheExtraOptions(480, 320, null) 
      .build(); 
ImageLoader imageLoader = ImageLoader.getInstance(); 
imageLoader.init(config); 

String imageURL; 

ImageView imageView1 = (ImageView)findViewById(R.id.imageview1); 
imageURL = "http://www.up.edu.ph/wp-content/uploads/2017/01/twsc-40th-posters-WEB-01.png"; 
imageLoader.displayImage(imageURL, imageView1); 

ImageView imageView2 = (ImageView)findViewById(R.id.imageview2); 
imageURL = "http://www.up.edu.ph/wp-content/uploads/2017/01/UPD-Chancy-Selection1.png"; 
imageLoader.displayImage(imageURL, imageView2); 

А вот мой XML-код:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/activity_main" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context="ph.edu.up.e.universalimageloadersample.MainActivity" 
    android:orientation="vertical"> 

    <ScrollView 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:orientation="vertical"> 

      <ImageView 
       android:id="@+id/imageview1" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:adjustViewBounds="true" 
       android:scaleType="centerCrop" /> 

      <ImageView 
       android:id="@+id/imageview2" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:adjustViewBounds="true" 
       android:scaleType="centerCrop" /> 

     </LinearLayout> 

    </ScrollView> 

</LinearLayout> 

Это как изображения выглядят, как при загрузке ИЮОЖ:

imageView1

imageView2

Пожалуйста, не предлагайте никаких других загрузчиков изображений. Кроме того, любая помощь будет оценена по достоинству. Благодаря!

+0

Вот ссылки на оригинальные изображения: http://www.up.edu.ph/wp-content/uploads/2017/01/twsc-40th-posters- WEB-01.png http://www.up.edu.ph/wp-content/uploads/2017/01/UPD-Chancy-Selection1.png – fcang1

+0

Используйте [Glide] (https://github.com/) bumptech/glide) –

+0

спасибо за предложение – fcang1

ответ

1

Я совершил глупую ошибку, но, наконец, нашел решение. Будьте осторожны при использовании:

.diskCacheExtraOptions(480, 320, null) 

это может снизить качество изображения независимо от типа вашего изображения.

ВАЖНО: При использовании

.cacheOnDisk(true) 

Удаление кэша/данных на вашем эмуляторе/телефон перед повторным запуском вашей программы (просто чтобы быть уверенным, я обычно удалить все приложение и переустановить его на моем следующем запуске). Похоже, что UIL не будет загружать более качественные версии изображений позже, когда они были кэшированы раньше, независимо от их качества.

Надеется, что это помогает кто-то