Pixelated Image при использовании Glide с заполнителем - PullRequest
0 голосов
/ 26 апреля 2018

Я использую Glide для загрузки файла изображения в ImageView следующим образом:

GlideApp.with(this)
        .load(imageURL)
        .placeholder(R.drawable.placeholder)
        .into(mImageView);

Загруженное изображение и заполнитель имеют одинаковое разрешение (1920 * 1200). Но если загруженное изображение в портретном формате и заполнитель в альбомной ориентации, загруженное изображение растягивается и пикселируется. Это значения размера, которые я получаю в Logcat:

mImageView.getWidth(): 870
mImageView.getHeight(): 1393
mImageView.getDrawable().getBounds().width(): **339**
mImageView.getDrawable().getBounds().height(): **543**

Как вы можете видеть, размер растрового растрового изображения намного меньше, чем размер изображения.

Если оба имеют одинаковую ориентацию, я получаю одинаковые размеры, и все выглядит хорошо.

Мои вопросы:
1. Почему это происходит?
2. Как я могу это исправить?

Вот мой код xml:

<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:id="@+id/textView"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        app:layout_constraintBottom_toBottomOf="@+id/imageView"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="@+id/imageView" />


    <ImageView
        android:id="@+id/imageView"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:adjustViewBounds="true"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toEndOf="@+id/textView"
        app:layout_constraintTop_toTopOf="parent" />

</android.support.constraint.ConstraintLayout>
...