- Границы должны быть в пикселях, независимых от плотности (DP). < /p>
< /li>
Система координат возникает в верхнем левом углу чата частично видно, его границы должны быть обрезаны до
только видимой части. прямоугольник, заключающая видимую часть элемента.
Код: Выделить всё
ChatScreenComposable
├── UIFragmentsComposable
│ ├── RequestFragmentsComposable (User request)
│ ├── ResponseFragmentsComposable (Bot responses)
│ ├── ChildFragmentsComposable (Bot images, thumbnails, etc.)
< /code>
[list]
[*] Фрагмент корня представляет запрос пользователя. < /li>
Фрагмент ответа содержит один или несколько ответов BOT (текст). Фрагмент корня может содержать несколько ответы. [/list]
[b] текущий подход (используя OnGloballyPosited) [/b]
В настоящее время я использую modifier.ongloballyposition - Фрагменты запроса < /li>
Фрагменты ответа < /li>
Детские фрагменты (внутри фрагменты ответа) < /li>
< /ul>
Я храню эти границы в карте и использую их позже при создании полезной нагрузки JSON для отправки в бэкэнд. < /p>
проблема
Рецензент отметил, что OngloballyPosited ранее вызвал отставание при производительности прокрутки.
< Strong> то, что я попробовал < /strong> < /p>
: рассмотрено, но у него также есть проблемы с производительностью.Код: Выделить всё
onPlaced - : он предоставляет информацию о видимости для фрагментов корней, но не отслеживает вложенные фрагменты (детские элементы внутри ответов).
Код: Выделить всё
LazyListState - : эффективно отслеживает размер, но не предоставляет позицию.
Код: Выделить всё
onSizeChanged
< P> Что лучше подчеркивают альтернативы для отслеживания видимых границ вложенных элементов в JetPack Compose, без использования OngloballyPosed ? дорогие переоборудования будут оценены.
Подробнее здесь: https://stackoverflow.com/questions/794 ... android-wi