Всем привет. Пытаюсь написать функцию, в которую можно передать какие-то

параметры и какой-то контент(@Composable () -> Unit). Затем в зависимости от параметров как-то расположить контент и после этого порисовать на канвасе. Но чтобы рисовать на канвасе, мне нужно знать размеры контента. Могу ли я их как-то получить?
Я могу написать свой кастомный лэйаут, в котором смогу расположить контент как мне нужно и узнать его размеры, но как в этом случае рисовать на канвасе?
Должно получиться что-то типа такого
Box(...fillMaxSize()){
Canvas(...fillMaxSize())
content(с какими-то своими размерами)
}

7 ответов

16 просмотров

тоже интересует этот вопрос. Нужно было в такой задаче - отобразить слева картинку, справа от нее обтекаемый текст. Этого нету из коробки в компоуз и нужно рисовать на канвасе. Но чтобы рисовать, нужно знать размеры картинки. Если передавать в такую функцию функции контента картинки и текста, то не понятно как взять их размер. Первое что пришло - передавать просто параметры для картинки(url, размеры итд) и сам текст , уже зная их знаешь размер и можно рисовать. Может и в вашем случае придется написать частную функцию с параметрами, а не компоуз функциями

Может onchangesize или как-то так ?

Anton Potekhin
Может onchangesize или как-то так ?

скорее всего подход с LaunchedEffect(scrollPosition) рабочая тема

Anton Potekhin
Может onchangesize или как-то так ?

изменений может и не быть - пришел сигнал - сделай скролл до позиции, напрмер, в списке то ничгео не менялось

Aleksandr Petrov
сорри

Я правильно понимаю что вам внутри функции нужно размер знать ? Я делал что-то подобное

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

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

Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
7
Я правильно понимаю что нет способов получить список ожидающих заявок на вступление в группу с помощью бота из mtproto?
Шамиль Прилов
7
День добрый, подскажите пожалуйста, есть ли какой-то способ сказать ребару не компилировать определённое приложение? Всю доку их перечиатл ничего подобного не нашёл
Кирилл
14
Вопрос на перед, на следующую пятницу. Сколько строк кода можно вешать на одного программиста, понятно что если проект хорошо написан то можно и миллион. Но есть же где то пре...
AlekseyK Kluchnikov
31
Немного оффтопа: а кто на чем сидит для осдева в плане ide/редактора? Последнее время сидел на vscode, но я его прям не могу нормально воспринимать, перешел на сlion, но меня...
Evg Resh
29
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Что за японодичь? Мне хоть m68k, хоть 8080, 8088, на любом можно что-то создать
Егор
5
Вот объясните, как это работает: Вот есть допустим unix-подобная система, и программа запускает допустим printf или fork, как это передается ядру, и как оно обрабатывать начин...
Егор
14
и да, кто сказал что у эпла именно такой isa?
Boris Vinogradov
5
всем привет помогите пожалуйста используя CDN (GCP) у игроков из вьетнама загружается конфиг (размер 999 bytes) загружается 5 и более минут н а других CDN сервисах такой пробл...
Andrew Krw.
1
Карта сайта