android_ru | Unsorted

Telegram-канал android_ru - Android Developers

11966

Общаемся на темы, посвящённые нативной Android-разработке. + Про Android NDK: @ndk_ru + Про iOS: @ios_ru + Вакансии: @mobile_jobs + It чаты @it_chats + Флудилка @androidflood Рекомендуем отключить уведомления, чтобы пребывание было комфортным.

Subscribe to a channel

Android Developers

После того, как вызывается notify. Мне нужно убедиться в том, что вью обновилось и только тогда прописать определенную логику.

Читать полностью…

Android Developers

Всем привет. Такой вопрос: можно как-то поймать ивент о том, что адаптер в RecyclerView обновил свою вьюшку?

Читать полностью…

Android Developers

Щас походу будет трипл килл из ро

Читать полностью…

Android Developers

Написать скрипт который каждый день с интервалом 1-2 часа, будет автоматом запускать Speedtest в сети 5G с тестового телефона, со максимальной скоростью рядом с БС, которая автоматом будет попадать в статистику SpeedTest, для мировой статистики.

Читать полностью…

Android Developers

Добрый вечер всем!
Есть один проект нужно его реализовать

Читать полностью…

Android Developers

Там наверняка есть какой-нибудь листенер на отображение видимых элементов. Либо в RV, либо в адаптере, либо в манагере. Не помню, где точно. А задержка от балды - верная дорога к новым глюкам )

Читать полностью…

Android Developers

А если дальше в списке высота айтема опять уменьшится, тогда какие-то из них будут видны частично. И эти танцы с бубном окажутся бесполезными.

Читать полностью…

Android Developers

Тогда текст не помещается и предложение обрывается на половине, милорд 😅

Читать полностью…

Android Developers

Интересно, почему задержка у postDelayed именно 100, а не 87 или не 109? :)

Читать полностью…

Android Developers

Простое присваивание новых значений свойствам layout params эффекта не имеет. Нужно вызывать setLayoutParams. Тогда он дернет нужные методы для обновления лейаута.

Читать полностью…

Android Developers

Солидарен.
Я иногда по привычки тяну мышкой на элементы, чтобы подогнать под пиксели 😁

Читать полностью…

Android Developers

А почему RecyclerView.LayoutParams, а не ConstraintLayout.LayoutParams?

Читать полностью…

Android Developers

после 2-х лет рабоыт с компоузом возврашение на xml на 15 минут стало таким приятным на самом деле

Читать полностью…

Android Developers

Как же всё непросто с этим XML, ужас. В том же Compose я бы достаточно быстро реализовал эту штуку без какого-либо геморроя

Ладно, попробую поискать что-то ещё на тему - не я один же реализовывал такой функционал 🙂

Читать полностью…

Android Developers

Однако если я ставлю RV height через setLayoutParams с помощью new RecyclerView.LayoutParams, то у меня, почему-то, RV начинает занимать большую часть CL 🤔

Читать полностью…

Android Developers

Какой-какой именно момент?
Вьюшка обновляется после notify или при проматывании ресайклера юзером, там вызывается onBind

Читать полностью…

Android Developers

Ну а что необучаемые должны страдать.

Читать полностью…

Android Developers

Пишите, никто не запрещает.
Но здесь это офтоп.

Читать полностью…

Android Developers

Верить в меня не обязательно!
Я сам в себе верю и этого достаточно.

Читать полностью…

Android Developers

Ну и помимо этого если источник данных упёртый дятел иногда может отдать одно и то же DTO, то этот костыль ещё раз пересчитает размер RV, а если одинаковых DTO будет сразу много... 😁

В целом, однако главное, что выполняется условие - отображать только первые n элементов. Дальнейшее - дело оптимизации :)

Читать полностью…

Android Developers

Заметил на тестах, что иногда RecyclerView не успевает отрисовать третий элемент (т.е. getChildAt возвращает null), поэтому добавил дилей в ~100мс. Вполне можно поставить его хоть в 50, хоть в 1

Читать полностью…

Android Developers

Тогда получится реклама простого советского... Читать далее :)

Увы, поэтому вышеприведённый костыль работает в моём случае

Читать полностью…

Android Developers

А вот оказывается я выявил такие моменты, когда ViewHolder "жиреет" до 82dp, что явно больше 64dp:)

Читать полностью…

Android Developers

Если высота айтема известна и задана в dimen, и при этом высота RV должна быть 3*айтем, то что мешает и эту высоту задать в dimen и тупо присвоить ее в layout_height у RV? Нипанимаю.

Читать полностью…

Android Developers

В общем вот что я в итоге выдумал совместно с одной LLM (можете кидаться помидорами):
Засовывается всё это дело в место где адаптер RV получает новую порцию данных

// actions is List<MyDTO>
// n is number item to visible
if (actions.size() > n) {
recyclerView.postDelayed(() -> {
var total = 0;
for (var i = 0; i < n; i++) {
var c = recyclerView.getChildAt(i);
total += recyclerView.getLayoutManager().getDecoratedMeasuredHeight(c);
}
var params = recyclerView.getLayoutParams();
params.height = total;
recyclerView.setLayoutParams(params);
}, 100); // Need because the RV may not have time to create the element
} else {
if (recyclerView.getLayoutParams().height != ViewGroup.LayoutParams.WRAP_CONTENT) {
recyclerView.post(() -> {
recyclerView.getLayoutParams().height = ViewGroup.LayoutParams.WRAP_CONTENT;
recyclerView.requestLayout();
});
}
}

Читать полностью…

Android Developers

Потому как в любом случае мы получаем вот это

Читать полностью…

Android Developers

я как будто вернулся домой)

Читать полностью…

Android Developers

Хмл - простой и декларативный )
С расположением и размерами вью тоже все достаточно просто.

Читать полностью…

Android Developers

Такие парамсы, видимо.

Читать полностью…

Android Developers

Ну и что? Внутри CL у разных вью тоже можно менять размеры.

Читать полностью…
Subscribe to a channel