Анимация изменения положения представления в зависимости от видимости другого представления в Compose ⇐ Android
Анимация изменения положения представления в зависимости от видимости другого представления в Compose
Предположим, у меня есть TextField и изображение над ним. Я скрываю изображение при нажатии, и TextField расширяется по вертикали. Я хочу анимировать это расширение (предпочтительна анимация скольжения вверх), как мне это сделать?
Column(horizontalAlignment = Alignment.CenterHorizontally) { ИзображениеView() ... Инпутвиев( onClick { onEventReceived(Contract.InputViewClick) } ) } Реализация InputView:
@Composable Инпутвиев( onClick: () -> Единица измерения ) { ОграничениеLayout( модификатор = Модификатор.fillMaxSize() ) { // другие виды также скрываются при нажатии val (inputArea, другойView1, другойView2) = createRefs() Текстовое поле( значение = ..., onValueChange = { ... }, цвета = textFieldColors, модификатор = Модификатор .fillMaxSize() .constrainAs(inputArea) { centerHorizontallyTo(родительский) }, InteractionSource = помните { MutableInteractionSource() } .также { источник -> LaunchedEffect (источник) { source.interactions.collect { когда это) { это PressInteraction.Release -> onClick() } } } } // некоторые другие представления ... } ) } У меня не очень большой опыт работы с анимацией в Compose, и я не уверен, что AnimatedVisibility — это то, что я хочу использовать в таком случае
Предположим, у меня есть TextField и изображение над ним. Я скрываю изображение при нажатии, и TextField расширяется по вертикали. Я хочу анимировать это расширение (предпочтительна анимация скольжения вверх), как мне это сделать?
Column(horizontalAlignment = Alignment.CenterHorizontally) { ИзображениеView() ... Инпутвиев( onClick { onEventReceived(Contract.InputViewClick) } ) } Реализация InputView:
@Composable Инпутвиев( onClick: () -> Единица измерения ) { ОграничениеLayout( модификатор = Модификатор.fillMaxSize() ) { // другие виды также скрываются при нажатии val (inputArea, другойView1, другойView2) = createRefs() Текстовое поле( значение = ..., onValueChange = { ... }, цвета = textFieldColors, модификатор = Модификатор .fillMaxSize() .constrainAs(inputArea) { centerHorizontallyTo(родительский) }, InteractionSource = помните { MutableInteractionSource() } .также { источник -> LaunchedEffect (источник) { source.interactions.collect { когда это) { это PressInteraction.Release -> onClick() } } } } // некоторые другие представления ... } ) } У меня не очень большой опыт работы с анимацией в Compose, и я не уверен, что AnimatedVisibility — это то, что я хочу использовать в таком случае
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Можете ли вы создать область видимости, которая вызывает различные другие области видимости?
Anonymous » » в форуме Php - 0 Ответы
- 39 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Можете ли вы создать область видимости, которая вызывает различные другие области видимости?
Anonymous » » в форуме Php - 0 Ответы
- 47 Просмотры
-
Последнее сообщение Anonymous
-