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

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

7 ответов

5 просмотров

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

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

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

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

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

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

Aleksandr Petrov
сорри

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

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

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

так это может кто что знает или использует что-то как макбук только не макбук? на 13…14 дюймов
Michael
9
Кто-нибудь знает почему SPM клонирует репо целиком? Некоторые репы просто огромные, как та же swift-syntax которая нужна для использования макросов. Сначала подумал, что это...
iMike
6
Всем привет) Я попробовал турбо роутер октябрьский. Вроде доволен, но возникла проблемка) Бутстраповские модалки плодят .modal-backdrop элементы Если модалка открыта, должне...
Виталий
3
у меня вопрос, а айМайк отец пятерых детей или отец пятого свифта?
Karl {🌪️}{🐊} Shinobi
5
кто что использовал парсить ексель ? неохота гуглить и пробовать 🙃
Oleh Nerzh
7
Так а кто может спарсить всех участников чата? Идишники
Magic
18
да пофиг на капчу зашел в чат и молчишь при этом ты нонейм? пошел вон
Magic
17
Гайз, а как отправлять с вейпора пуши на андроид? ) Меня вот осенило )))
Serg
11
Добрый день! Подскажите, пожалуйста: какими компетенциями нужно обладать, чтобы претендовать на работу эрланг (отдельная благодарность, если про элексир тоже подскажете) разр...
via ☸️ led
1
Как удалить health check в Consul? Казалось бы, это должно быть не сложно, но я не могу найти в документации ничего про это, только про добавление service с health check "в н...
Roman
2
Карта сайта