我想将View
创建为flexDirection="row"
。
但是当我使用alignSelf
时不能使用flexDirection="row"
。
现在,我该如何使用该数字:
| |
|LeftItem-1 LeftItem-2 RightItem|
| |
答案 0 :(得分:3)
使用flexDirection="row"
时,alignSelf垂直工作。当您使用flexDirection="column"
时,alignSelf会水平工作。
因此,您必须使用JustifyContent
。
<View style={{flexDirection: "row"}}>
<View style={{flexDirection: "row",flex:1}}>
<Text> LeftItem-1 </Text>
<Text> LeftItem-2 </Text>
</View>
<Text> LeftItem-3 </Text>
</View>
这样您就可以实现输出。
您可以在此处了解有关flexbox的更多信息:https://css-tricks.com/snippets/css/a-guide-to-flexbox/
答案 1 :(得分:2)
有几种方法可以实现这一目标。一种实现所需布局的简单方法是通过以下方式:
<View style={{ flexDirection : "row" }}>
<Text>LeftItem-1</Text>
<Text>LeftItem-2</Text>
<View style={{ flex : 1 }}></View>
<Text>RightItem</Text>
</View>
另一种选择是将左侧元素分组到<View>
中,然后使用space-between
-但是,这会增加视图结构和样式的复杂性:
<View style={{ flexDirection : "row", justifyContent:"space-between" }}>
<View style={{ flexDirection : "row" }}>
<Text>1</Text>
<Text>2</Text>
</View>
<Text>RightItem</Text>
</View>
答案 2 :(得分:1)
将左侧分组为一组,然后使用
justify-content:space-between;
答案 3 :(得分:1)
当您将Flexbox与flexDirection="row"
配合使用时,
alignSelf以及alignItems属性,是指项目如何垂直对齐
如果要创建此精确数字,请将剩下的两个项目放在div中,然后使用
justify-content:space-between;
将两组水平分开放置