Emoji2 emojipicker внутри создания ModalBottomSheet не прокручивается ⇐ Android
-
Anonymous
Emoji2 emojipicker внутри создания ModalBottomSheet не прокручивается
Мне нужно использовать emoji2-emojipicker из androidx, который создан с использованием XML-представлений:
(Источники https://github.com/androidx/androidx/tr ... mojipicker и https://developer.android.com/jetpack/a ... ses/emoji2) И я использую это вот так:
AndroidView( фабрика = {контекст -> EmojiPickerView(контекст) }, модификатор = Модификатор .fillMaxWidth() .height(300.dp) ) Использование средства выбора смайлов на обычной поверхности, например на строительных лесах или колонне, не вызывает проблем, прокрутка выполняется отлично и без задержек.
Если вместо этого я помещу средство выбора смайлов в другой составной элемент с возможностью прокрутки, например ModalBottomSheet, он больше не будет прокручиваться.
Чтобы заставить его прокручиваться, мне нужно добавить модификатор verticalScroll(rememberScrollState()) к AndroidView, но это делает его медленным и занимает много времени для загрузки + вкладки с эмодзи не работают по какой-то причине это не сработает, если я сделаю его прокручиваемым.
Думаю, это происходит с задержкой, потому что я сообщаю RecyclerView, что он имеет бесконечную высоту и поэтому отображает все смайлы одновременно, а не делает это лениво.
При чтении SO кажется, что события прокрутки не распространяются должным образом через компонуемые дочерние и родительские элементы, когда RecyclerView находится внутри другого компонуемого объекта с возможностью прокрутки. Есть какие-нибудь предложения, как обойти эту проблему?
Вот демо, показывающее один экран, на котором он работает нормально (экран задач), а другой — нет в ModalBottomSheet: https://drive.google.com/file/d /1vU94uPwBTtpDg8hb0JauqZmw-LHyP9Mz/view?usp=sharing (в этом видео я добавил модификатор verticalScroll в emojipicker ModalBottomSheet, чтобы сделать его прокручиваемым, иначе он не будет прокручиваться, а в Задачах его нет. этот модификатор)
Мне нужно использовать emoji2-emojipicker из androidx, который создан с использованием XML-представлений:
(Источники https://github.com/androidx/androidx/tr ... mojipicker и https://developer.android.com/jetpack/a ... ses/emoji2) И я использую это вот так:
AndroidView( фабрика = {контекст -> EmojiPickerView(контекст) }, модификатор = Модификатор .fillMaxWidth() .height(300.dp) ) Использование средства выбора смайлов на обычной поверхности, например на строительных лесах или колонне, не вызывает проблем, прокрутка выполняется отлично и без задержек.
Если вместо этого я помещу средство выбора смайлов в другой составной элемент с возможностью прокрутки, например ModalBottomSheet, он больше не будет прокручиваться.
Чтобы заставить его прокручиваться, мне нужно добавить модификатор verticalScroll(rememberScrollState()) к AndroidView, но это делает его медленным и занимает много времени для загрузки + вкладки с эмодзи не работают по какой-то причине это не сработает, если я сделаю его прокручиваемым.
Думаю, это происходит с задержкой, потому что я сообщаю RecyclerView, что он имеет бесконечную высоту и поэтому отображает все смайлы одновременно, а не делает это лениво.
При чтении SO кажется, что события прокрутки не распространяются должным образом через компонуемые дочерние и родительские элементы, когда RecyclerView находится внутри другого компонуемого объекта с возможностью прокрутки. Есть какие-нибудь предложения, как обойти эту проблему?
Вот демо, показывающее один экран, на котором он работает нормально (экран задач), а другой — нет в ModalBottomSheet: https://drive.google.com/file/d /1vU94uPwBTtpDg8hb0JauqZmw-LHyP9Mz/view?usp=sharing (в этом видео я добавил модификатор verticalScroll в emojipicker ModalBottomSheet, чтобы сделать его прокручиваемым, иначе он не будет прокручиваться, а в Задачах его нет. этот модификатор)
Мобильная версия