Size: a a a

Android Developers

2020 June 18

n

neikist in Android Developers
Suleiman Kurbanov
Всем привет!
Подскажите, пожалуйста, кто знает как можно отключить хреновину, которая появляется на RecyclerView когда ты в конце списка, но тянешь список дальше?
recyclerview edge effect
источник

SB

Siamion Babich in Android Developers
Suleiman Kurbanov
а декорация цветная
<androidx.recyclerview.widget.RecyclerView
...
 android:overScrollMode="never" />
источник

M

M in Android Developers
Всем привет. Есть RecyclerView с тремя Вьюхолдерами. Хэдер, Секция, и Ячейки. При первом скроле немного подвисает таблица. Подвисает получается при создании вьюхолдеров. Потом дальше все норм. Как это оптимизировать, чтобы не подвисал?
источник

n

neikist in Android Developers
M
Всем привет. Есть RecyclerView с тремя Вьюхолдерами. Хэдер, Секция, и Ячейки. При первом скроле немного подвисает таблица. Подвисает получается при создании вьюхолдеров. Потом дальше все норм. Как это оптимизировать, чтобы не подвисал?
Точно RecyclerView не в ScrollView находится?
источник

M

M in Android Developers
neikist
Точно RecyclerView не в ScrollView находится?
Да нет. Это не нужно. Скролл вью просто в layout
источник

M

M in Android Developers
neikist
Точно RecyclerView не в ScrollView находится?
При скроле скроллвью создает не достающие холлеры чтобы были сверху и снизу, вот при создании и лагает доли секунды
источник

n

neikist in Android Developers
Я бы в первую очередь на всякий все таки залогировал количество создаваемых холдеров. Мало ли, вдруг скролл вью какой просочился
источник

n

neikist in Android Developers
M
При скроле скроллвью создает не достающие холлеры чтобы были сверху и снизу, вот при создании и лагает доли секунды
Так у тебя внутри или не внутри скролл вью? Если внутри - то он в принципе для всех элементов холдеры создает и вьюхи.
источник

n

neikist in Android Developers
И не при скролле а сразу
источник

M

M in Android Developers
neikist
Так у тебя внутри или не внутри скролл вью? Если внутри - то он в принципе для всех элементов холдеры создает и вьюхи.
С твоих слов, получается что метод onCreate не должен вызываться при скроллинге?
источник

AD

Aleksey D. in Android Developers
На AndroidX AppCompat версии 1.1.0 не работает масштабиравание текста для Android 6.0, 7.0
Как же я люблю Google с их библиотечками 🤪
источник

n

neikist in Android Developers
M
С твоих слов, получается что метод onCreate не должен вызываться при скроллинге?
В целом да. Если внутри скролл вью находится.
источник

M

M in Android Developers
neikist
В целом да. Если внутри скролл вью находится.
RecyclerView нужно ложить в ScrollView?
источник

n

neikist in Android Developers
M
RecyclerView нужно ложить в ScrollView?
Наоборот, не нужно. Если в ScrollView положить - лагать будет. Как раз как ты описываешь.
источник

M

M in Android Developers
neikist
Наоборот, не нужно. Если в ScrollView положить - лагать будет. Как раз как ты описываешь.
У меня родитель координатор layout в нем констрейнт, и в констрейнте лежит скроллвью
источник

M

M in Android Developers
neikist
Наоборот, не нужно. Если в ScrollView положить - лагать будет. Как раз как ты описываешь.
Я в методе onCreateViewHolder посмотрел. Он несколько раз вызывается у меня при скроллинге. В это время и начинает лагать
источник

A

Aleksandr in Android Developers
Вышележащий скролл говорит, что ресайклер может иметь неограниченную высоту. И если в ресайклера очень много элементов, то и рендериться они могут очень долго
источник

n

neikist in Android Developers
M
У меня родитель координатор layout в нем констрейнт, и в констрейнте лежит скроллвью
Скролл вью на фазе измерения размеров вьюшек передает своим потомкам высоту как Unspecified. Из за чего они считают что можно по высоте отрисовываться хоть до бесконечности. Потому тот же ресайклер рендерит сразу все, хотя по задумке как раз должен рендерить только то что в данный момент на экране находится.

Хотя если таки дергается при скролле - то вроде ок должно быть. Значит нужно смотреть на холдеры, но там уж без кода вряд ли чего можно сказать. Просто ресайклер в скроллвью довольно типичная ошибка. Лучше сразу посоветовать вопрошающему проверить.
источник

M

M in Android Developers
neikist
Скролл вью на фазе измерения размеров вьюшек передает своим потомкам высоту как Unspecified. Из за чего они считают что можно по высоте отрисовываться хоть до бесконечности. Потому тот же ресайклер рендерит сразу все, хотя по задумке как раз должен рендерить только то что в данный момент на экране находится.

Хотя если таки дергается при скролле - то вроде ок должно быть. Значит нужно смотреть на холдеры, но там уж без кода вряд ли чего можно сказать. Просто ресайклер в скроллвью довольно типичная ошибка. Лучше сразу посоветовать вопрошающему проверить.
Щас как закончу код закину.
источник

A

Aleksandr in Android Developers
Кстати, можешь проверить высоту ресайклера с помощью логов или лэйаут-инспектора (если высота будет слишком большой, то он тоже может не справиться и останется только первый вариант)
источник