169 похожих чатов

Делаю петпрожект. Основной смысл в поиске картинок в ресайклер. По

апи можно грузить разный размер. Соответственно грузишь фулл = проблема исчезает, но каждая фотка по 10-15мб нереально замедляет всё. Когда грузишь средний размер иногда вылетает косяк (белый кусок) как на фото.
Вопрос: как настроить item layout, чтобы он растягивал такие косяки?
Кастомную штуку по width/height пилить ваще не хочется
android:scaleType="centerCrop" не предлагать, он обрезает все фотки до квадрата

6 ответов

7 просмотров

Грузить глайдом эскизы скажем 300 на 300. Сохранять их в файловый кеш и именно их показывать в ресайклере. По клику грузить полную картинку.

Судя по всему, тебе апи отдаёт квадратную картинку. Следовательно у тебя нет других вариантов как обрезать её или оставить отступы. Чтобы обрезать - попробуй разные scaleType, какой больше нравится, например centerInside

Пользователь-61075 Автор вопроса

Ой короче выстрадал и я спустя ~4 часа. Мб кому-то будет интересно/полезно @PSA_56789. Проблема была не в размере фотки, а в переиспользовании вью ресайклером. То есть в атрибутах айтема стоят android:layout_width="match_parent" android:layout_height="wrap_content" Но позже глайд их переопределяет под конкретную картинку. И спустя несколько итераций переопределения картинки во вью между портретной и панорамной фоткой (полистать вверх-вниз побольше) вью ужимается до небольшого квадратика и белые куски по размеру становятся>самой фотки. Решение в onViewRecycled в адаптере (он вызывается при каждом реюзе) переопределять эти 2 атрибута 👌

В каком смысле переопределять? requestLayout?

Пользователь-61075 Автор вопроса

Код на картинке, updateLayoutParams

А, не заметил, короче requestLayout, по идее простое itemView.requestLayout() должно работать

Похожие вопросы

Обсуждают сегодня

Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
База данных не поможет. Шифрование не поможет. Какие там ещё варианты? Накидывайте.
КТ315
20
А как лучше конвертировать физический адрес в виртуальный при маппинге? В случае ядра у меня, например, direct mapping, первые 768МБ я как есть мапплю в higher half, а остальн...
Evg Resh
26
А табстоп это сообщение от окна или от элемента управления?
The Bird of Hermes
18
Открыл свой двухкилобайтный экзешник в x32dbg, а тут какая-то хрень. Смущает кнопка "выполнить до пользовательского кода", а что ещё может быть в файле помимо него ?
НѣкъиⰘижєжєиꙁъвьсєсвѣтьноѣсѣтиѥсть•
11
Вопрос тем кто смотрит видео и слушает подкасты - как вы потом ищете нужную вам информацию? Вот статью я прочитал, потом могу искать нужную мне часть банальным поиском. Пропус...
Aleksandr Druzhinin
4
Мне были интересны дишные хаки и я нашёл любопытный способ на форуме через __traits, что-то вроде int delegate(int) fac = (int n) => n == 0 ? 1 : n * __traits(parent, {})(n - ...
Constantin F.
1
Всем привет, подскажите/посоветуйте пожалуйста. Фаердак компоненты, имею одно место где бизнес хочет видеть при открытии формы список всех клиентов, это порядка 30к. Мои дово...
Sasha Sch
14
Ребят, если кто в курсе - скажите, а в загранке такое же засилье маркетплейсов? или там простые сермяжные интернет-магазины живут попроще?
Андрей [aharito] Харитонов
14
@FAssembler ты много с формами работал, как цикл обработки сообщений от окошек надо делать, чтобы IsDialogMessage не ломал ввод в эдиты и навигация по табам работала?
The Bird of Hermes
8
Карта сайта