AnimatedVisibility 打破了 Jetpack Compose 中 ConstraintLayout 中的约束

时间:2021-04-18 20:47:03

标签: android-jetpack-compose

编辑:当我也使用对齐将 ConstraintLayout 换成 Box 时也会发生...

目前看来,AnimatedVisibility 与 JP Compose 中的 ConstraintLayout 的搭配效果不佳。

        AnimatedVisibility(
          visible = entryListState.firstVisibleItemIndex > 3,
          enter = fadeIn() + expandIn(expandFrom = Alignment.Center),
          exit = fadeOut() + shrinkOut(shrinkTowards = Alignment.Center)
        ) {
          ExtendedFloatingActionButton(
            modifier = Modifier.constrainAs(scrollToTop) {
              start.linkTo(parent.start)
              bottom.linkTo(parent.bottom)
            },
            text = { Text(text = "TOP") },
            onClick = { scope.launch { entryListState.animateScrollToItem(0) } }
          )
        }

( TOP ) fab 应该出现在左下角,但我得到的是 incorrect placement

当我移除 AnimatedVisibility 包装器时,一切正常。 :(我知道我可以解决这个问题,但我很好奇我是否在配置 AnimatedVisibility 可组合项时做错了什么?

1 个答案:

答案 0 :(得分:1)

原来我在想 AnimatedVisibility 全错了。它只是另一个 Composable。我需要解除 FAB 的修饰符:定位到 AnimatedVisibilty 的修饰符。