Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Animation React Native:如何设置视图从垂直堆叠到水平堆叠的动画_Animation_Layout_React Native_React Native Flexbox_React Animated - Fatal编程技术网

Animation React Native:如何设置视图从垂直堆叠到水平堆叠的动画

Animation React Native:如何设置视图从垂直堆叠到水平堆叠的动画,animation,layout,react-native,react-native-flexbox,react-animated,Animation,Layout,React Native,React Native Flexbox,React Animated,因此,基本上,我有两个垂直堆叠的视图开始,按下按钮,它们需要设置动画,以便第一个视图向左移动,第二个视图向上移动,并位于第一个视图的右侧。在第一个视图上调整flex和在第二个视图上更改顶部和左侧样式似乎很容易,在IOS上看起来很棒,但是在Android上,这会导致第二个视图在上升时底部被切断的问题(可能是因为视图的伸缩或高度对于内容来说不够高,但不幸的是,我无法改变这一点,因为它会弄乱下面其余内容的伸缩样式) 关于如何处理这个问题有什么建议吗 这可能是不可能的,但我想知道是否有一种方法,无论是使

因此,基本上,我有两个垂直堆叠的视图开始,按下按钮,它们需要设置动画,以便第一个视图向左移动,第二个视图向上移动,并位于第一个视图的右侧。在第一个视图上调整flex和在第二个视图上更改顶部和左侧样式似乎很容易,在IOS上看起来很棒,但是在Android上,这会导致第二个视图在上升时底部被切断的问题(可能是因为视图的伸缩或高度对于内容来说不够高,但不幸的是,我无法改变这一点,因为它会弄乱下面其余内容的伸缩样式)

关于如何处理这个问题有什么建议吗


这可能是不可能的,但我想知道是否有一种方法,无论是使用LayoutImation还是使用动画API,都可以将这些视图从flexDirection的“列”动画化为“行”?这将非常方便。

各位,LayoutImation非常棒!只要根据需要在状态更改时在“列”和“行”之间切换,LayoutImation就可以下面是一个简单的例子,供其他有同样问题的人参考,希望能有所帮助:

导出默认类测试扩展组件{
构造函数(){
超级();
此.state={
toggleStyle:'列',
}
如果(Platform.OS==='android'){
UIManager.SetLayoutImactionEnabledExperimental(true);
}
}
_onPress=()=>{
LayoutImation.configureNext(CustomLayoutImation.position);
让方向=this.state.toggleStyle=='row'?'column':'row'
this.setState({toggleStyle:direction})
}
render(){
返回(
这是。_onPress()}>切换
)
}
}