Comments 6
Не проще написать modifier к элементу контента и пусть этот modifier все сам рисует. Есть же measurescope, там все можно посчитать. Там же все равно наверняка список с foreach.
Это просто попытка сделать как в recyclerview с декораторами, но у compose же другая парадигма прям.
Никогда не использовала recyclerview, поэтому ничего не могу сказать.
Не совсем представляю, как Modifier может что-то рисовать. В моём понимании он используется для настройки различных Composable. Можете привести пример, как Modifier что-то рисует?
Да, конечно, вот modifiers для рисования по ссылке https://developer.android.com/jetpack/compose/graphics/draw/modifiers
Тот же Canvas в compose - он тоже просто modifier drawBehind для spacer
Суть предложения объединить два modifier - один размер посчитает, другой нарисует что надо. Не вижу сложностей вроде
Рисовать просто
.drawBehind{
drawline(0, size.width, 0, 2.dp.value)
}
Я не смогла найти модифаер, который даёт размеры всех детей контейнера. А без этого никак. Укажите если оный там есть
Вы кажется не поняли. Вы в контейнер добавляете элементы по типу
items.forEach{
MyFunc()
}
Ну и создайте modifier и передайте его каждому ребенку, чтобы ребенок сам для себя все рисовал.
items.foreach{
MyFunc(Modifier.myModifier)
}
Jetpack Compose Layouts часть 2