【发布时间】:2019-01-22 11:03:18
【问题描述】:
我在另一个视图中有两个视图,它具有默认的 flexDirection 样式,因此它是柱状的。当用户单击底部视图中的项目(下面标记为选项)时,我希望顶部视图的动画与底部视图的大小相同,并显示所选选项的详细信息。
state = {
animation: new Animated.Value(0)
}
...
<View style={{flex: 1}}>
<Animated.View style={{ flex: this.state.animation}}>
{...details}
</Animated.View>
<View style={{flex:1}}>
{...options}
</View>
</View>
我正在使用以下方法更改值以将 flex 增加到 1。
onPress = () => {
Animated.timing(this.state.animation, {
toValue: 1,
duration: 1000
}).start()
}
我遇到的问题是没有动画,无论我设置的持续时间如何,它都会立即出现。
【问题讨论】:
-
您是否尝试将基本
flex大小设置为 100 而不是 1?你的容器视图和其他固定视图? -
您也可以尝试使用百分比或
Dimensions... -
并尝试将 flex 从 0 设置为 100。我现在很好奇 :)
-
0 到 100 做了同样的事情,它只是立即出现而不是动画
-
它似乎对我有用:snack.expo.io/Byu8w6-Um
标签: css reactjs react-native flexbox