是否可以使用ScrollView
包裹的布局:
<ScrollView>
<View>dynamic height</View>
<View>flex with minHeight</View>
<View>static height</View>
</ScrollView>
并满足以下先决条件:
第一个View
的高度是动态的(取决于文本长度)。第三个View
的高度是静态的(内部总是三个按钮)。屏幕的其余部分应使用地图填充View
,但最小高度设置为250.
现在是棘手的部分:如果第一个View
中有很多文字,那么地图不适合,就会出现滚动。我无法做到这一点。我试图给地图View
flex: 1
和minHeight: 250
,但它根本没有呈现。
好的,我找到了解决问题的方法。在第一次渲染中,我得到屏幕高度(Dimensions
)和第一个和第三个视图的高度(onLayout
)。然后,我计算第二个视图(screenHeight - view1 - view3 - naviagtionHeight
)和forceUpdate()
的高度以重新渲染它。
答案 0 :(得分:6)
将contentContainerStyle={{flexGrow: 1}}
道具添加到ScrollView
,其子栏的flex:1
将有效。所以你不需要手动计算它。