Изменение внешнего вида кнопок при прокрутке экрана ⇐ Android
-
Гость
Изменение внешнего вида кнопок при прокрутке экрана
Я пытаюсь изменить «expandLabel» (из моего ContextualHelpFloatingButton, «expandLabel: MutableState»), когда пользователь прокручивает экран или нет. В случае прокрутки значение angularLabel должно быть false, а когда пользователь прекращает прокрутку, значение должно быть true. Я реализовал mutableStateOf() и rememberLazyListState(), но он не будет работать так, как я ожидал:
@Composable частное развлечение FruitDetailView(fruit: FruitModel?, items: List) { var, расширенный с помощью Remember { mutableStateOf (истина) } val listState = RememberLazyListState() LaunchedEffect(помните {deriveStateOf { listState.firstVisibleItemScrollOffset } }) { расширенный = listState.firstVisibleItemScrollOffset == 0 } Коробка { LazyColumn( модификатор = Модификатор .background(UiColors.Белый) .fillMaxHeight() ) { ... } Коробка( contentAlignment = Alignment.BottomEnd, модификатор = Модификатор .fillMaxSize() .padding(по вертикали = 100.dp, по горизонтали = 20.dp) ){ ContextualHelpFloatingButton( доступность = доступность, данные = данные, взаимодействие = ContextualHelpFloatingButtonInteraction( expandLabel = помните { mutableStateOf (расширенный) } ) ) } } }
Я пытаюсь изменить «expandLabel» (из моего ContextualHelpFloatingButton, «expandLabel: MutableState»), когда пользователь прокручивает экран или нет. В случае прокрутки значение angularLabel должно быть false, а когда пользователь прекращает прокрутку, значение должно быть true. Я реализовал mutableStateOf() и rememberLazyListState(), но он не будет работать так, как я ожидал:
@Composable частное развлечение FruitDetailView(fruit: FruitModel?, items: List) { var, расширенный с помощью Remember { mutableStateOf (истина) } val listState = RememberLazyListState() LaunchedEffect(помните {deriveStateOf { listState.firstVisibleItemScrollOffset } }) { расширенный = listState.firstVisibleItemScrollOffset == 0 } Коробка { LazyColumn( модификатор = Модификатор .background(UiColors.Белый) .fillMaxHeight() ) { ... } Коробка( contentAlignment = Alignment.BottomEnd, модификатор = Модификатор .fillMaxSize() .padding(по вертикали = 100.dp, по горизонтали = 20.dp) ){ ContextualHelpFloatingButton( доступность = доступность, данные = данные, взаимодействие = ContextualHelpFloatingButtonInteraction( expandLabel = помните { mutableStateOf (расширенный) } ) ) } } }
Мобильная версия