У меня есть ImageView, установленный в качестве фона для фрагмента (для изображения задано значение match_parent как по ширине, так и по высоте), а для масштабирования установлено значение centerCrop. Я загружаю изображение, чтобы вставить его асинхронно, и использую TransitionDrawable для перехода между ними после завершения загрузки.
Изображение появляется с правильным типом масштабирования в первый раз, однако, если я перейду к другому фрагменту, а затем вернусь к этому фрагменту с изображением в качестве фона, изображение будет искажено/растянуто (похоже, вместо этого для imageView установлено значение fitXY)
Если я не использую TransitionDrawable, изображения остаются такими, какими они должны выглядеть.
Есть ли эквивалент TransitionDrawable, поддерживающий правильное соотношение сторон? Или мне нужно что-то установить на TransitionDrawable, чтобы предотвратить изменение размера?
Все, что я действительно хочу сделать, это сделать хороший переход между изображениями. Я думал просто установить изображение на второй слой, который можно нарисовать TransitionDrawable, как только он закончит анимацию, но нет возможности отслеживать, когда анимация закончилась...
редактировать: я думал, что упомяну, что изображения не одного размера, не уверен, что это имеет значение
Редактировать 2: Вот код для установки возможности рисования:
//code above to download image
BitmapDrawable bitmapDrawable = new BitmapDrawable(imageview.getResources(), bitmap);
TransitionDrawable transitionDrawable = new TransitionDrawable(new Drawable[]{imageview.getDrawable(), bitmapDrawable});
imageview.setImageDrawable(transitionDrawable);
transitionDrawable.startTransition(300);