Я воспроизводю несколько изображений последовательно на одном и том же SimpleDraweeView
, проблема в том, что при отправке нового запроса imageURI SimpleDrweeView
удалит текущее отображаемое изображение и ничем не заменит его, пока URI не будет загружен. Таким образом, это оставит пробелы в игровой последовательности (вы можете подумать, что я пытаюсь сделать мультяшную анимацию с использованием местных фотографий). Я хотел бы, чтобы SimpleDrweeView оставил текущее изображение как есть, пока новое не будет загружено, а затем просто замените его, когда оно будет готово.
Я попытался использовать схему низкого/высокого разрешения из этого билета, чтобы поместить старый uri в качестве заполнителя, но это не сработало (имело тот же эффект, что и раньше).
Это то, что у меня есть сейчас:
SimpleDraweeView draweeView = (SimpleDraweeView) findViewById(R.id.my_image_view);
draweeView.setImageURI(uri /* local image */);
И это то, что я пробовал до сих пор (не работает):
SimpleDraweeView draweeView = (SimpleDraweeView) findViewById(R.id.my_image_view);
Uri lowResUri, highResUri;
DraweeController controller = Fresco.newDraweeControllerBuilder().setTapToRetryEnabled(true)
.setLowResImageRequest(ImageRequest.fromUri((Uri) draweeView.getTag())) /*naive way to test the low/high res feature*/
.setImageRequest(ImageRequest.fromUri(uri))
.setOldController(draweeView.getController())
.build();
draweeView.setTag(uri);
draweeView.setController(controller);