Как прокручивать frontLayerContent без прерывания в создании реактивного ранцаAndroid

Форум для тех, кто программирует под Android
Ответить
Гость
 Как прокручивать frontLayerContent без прерывания в создании реактивного ранца

Сообщение Гость »


Я хочу, чтобы прокрутка frontLayerContent продолжалась без прерывания. Например, когда я начал прокручивать frontLayerContent, backLayerContent скроет и остановит frontLayerContent в верхней части экрана. Затем мне снова приходится провести жестом вверх, чтобы прокрутить frontLayerContent. Так можно ли этого добиться одним жестом?

Выход: YouTube

На видео хорошо видно, что когда я начал прокручивать вверх, frontLayerContent застрял вверху. После этого я снова прокручиваю вверх, и все идет, т. е. для выполнения прокрутки требуется 2-кратный жест прокрутки вверх. Я хочу сделать это только 1 раз.
@OptIn(ExperimentalMaterialApi::class) @Композитный весело CollapsingTopAppBarStylingScreen() { var isBackDropAnimationStarts, запомнив {mutableStateOf(false) } val iconOffsetAnimation: Dp от animateDpAsState( if (!isBackDropAnimationStars) 13.dp else 0.dp, tween(1000) ) val textOffsetAnimation: Dp от animateDpAsState( if (!isBackDropAnimationStarts) 6.dp else 0.dp, tween(1000) ) val viewAlpha: Float от animateFloatAsState( targetValue = if (!isBackDropAnimationStars) 1f else 0f, анимацияSpec = tween( продолжительностьМиллис = 1000, ) ) val scaffoldState = RememberBackdropScaffoldState(BackdropValue.Revealed) ФонЭшаф( scaffoldState = scaffoldState, AppBar = {}, постоянныйAppBar = ложь, peekHeight = 0.dp, backLayerContent = { Столбец( модификатор = Модификатор .fillMaxWidth() .padding( начало = 16.dp, верх = 16.dp, низ = 10.dp ), ) { Изображение( модификатор = Modifier.padding(top = iconOffsetAnimation), альфа = просмотрАльфа, imageVector = Icons.Default.ShoppingCart, colorFilter = ColorFilter.tint(color = Color.White), ContentDescription = ноль, ) Текст( модификатор = Modifier.padding(top = textOffsetAnimation), text = "Здравствуйте, Анна", размер шрифта = 20.sp, цвет = Color.White.copy(альфа = viewAlpha), ) } }, backLayerBackgroundColor = Color.DarkGray, frontLayerBackgroundColor = Цвет.Белый, frontLayerScrimColor = Цвет.Прозрачный, frontLayerContent = { LazyColumn( contentPadding = PaddingValues(по горизонтали = 24.dp, по вертикали = 24.dp), вертикальныйArrangement = Arrangement.spacedBy(8.dp) ) { список значений = (0..40).map { it.toString() } элементы (количество = list.size) { Текст( текст = список[оно], модификатор = Модификатор .fillMaxWidth() .padding(верх = 10.dp), цвет = Цвет.Черный, ) } } }) }
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»