因此,对于上面的图片,我试图获得"绿色"用于环绕动态文本的框。请注意蓝色和黄色文本框如何处于flex: 'row'
配置,蓝色文本框位于flex: 2
,黄色为flex: 1
。
在文本对于父容器来说太大之前,一切正常。
我希望绿色容器能够根据需要生长以适应弯曲的内在孩子。这可能是本地的反应吗?
这是一张网络意义上的图片:
我已经尝试将绿色框设置为flex: 1
,但是当它填满整个屏幕时它太大了。设置height
是可能的,但我不知道最大内部组件的大小(至少没有一些hackery)。我甚至试过minHeight
。
是否有人尝试过这样的事情?我是否需要动态地获取内部元素的高度?
更新 - 这是代码:
<View style={{ flex: 1, flexDirection: 'column', marginTop: 70, backgroundColor: '#f9e2ff' }}>
<View
style={{
minHeight: 40,
borderWidth: 1,
borderStyle: 'solid',
padding: 5,
margin: 5,
backgroundColor: '#58c09e'
}}
>
<View style={{ flex: 1, flexDirection: 'row' }}>
<View style={{ flex: 2, backgroundColor: '#eeff96' }}>
<Text>
Hello this is a long bit of text that will fill up the entire column to see how the text will wrap
</Text>
</View>
<View style={{ flex: 1, backgroundColor: '#eeffff' }}>
<Text>Hello again?</Text>
</View>
</View>
</View>
</View>
感谢您的光临。
答案 0 :(得分:2)
好好再看了一下并阅读:flex vs flexGrow vs flexShrink vs flexBasis in React Native?我能够找出问题所在。
我需要的是flex: 0
行:
<View style={{ flex: 1, flexDirection: 'column', marginTop: 70, backgroundColor: '#f9e2ff' }}>
<View
style={{
minHeight: 40,
borderWidth: 1,
borderStyle: 'solid',
padding: 5,
margin: 5,
backgroundColor: '#58c09e'
}}
>
<View style={{ flex: 0, flexDirection: 'row' }}>
<View style={{ flex: 2, backgroundColor: '#eeff96' }}>
<Text>
Hello this is a long bit of text that will fill up the entire column to see how the text will wrap
</Text>
</View>
<View style={{ flex: 1, backgroundColor: '#eeffff' }}>
<Text>Hello again?</Text>
</View>
</View>
<View>
<Text>Here's another test</Text>
</View>
</View>
</View>
这产生了我所期望的:
所以我认为flexbox不会像在网络上的CSS那样“在React Native中工作”,就像他们在文档中说的一样。
答案 1 :(得分:0)
尝试使用此Coode - &gt;
<View style={{flex:1,flexDirection:'row',borderWidth:1,padding:5}}>
<View style={{flex:0.7}}>
<Text>
Hello This is long bit of text that will fill up the entire
column to see how the text will wrap
</Text>
</View>
<View style={{flex:0.3}}>
<Text>Hello Again</Text>
</View>
</View>