Я должен построить простую форму, где у меня есть 3 метки и 3 TextInput.Я хочу, чтобы они располагались друг над другом с пробелом между строками.
Я не могу найти правильный способ сделать это правильно.
Моя первая попытка - иметьВид сверху с помощью flexDirection: 'row', затем первое вспомогательное представление для меток, за которым следует второе вспомогательное представление с вводом текста.Эти два представления имеют flexDirection: «столбец» и justifyContent: «пространство между».
Представления:
<View style={[InitWindowStyles.root]}>
<View style={InitWindowStyles.textBoxAndInputBox}>
<Text>User Name</Text>
<Text>Password</Text>
</View>
<View style={InitWindowStyles.textBoxAndInputBox}>
<TextInput
autoCorrect={false}
onChangeText={this.onUserNameChange}
value={this.state.userName}
style={{ backgroundColor: 'white', borderColor: 'black' }}
/>
<TextInput
autoCorrect={false}
onChangeText={this.onPasswordChange}
value={this.state.password}
style={{ backgroundColor: 'white', borderColor: 'black' }}
secureTextEntry={true}
/>
<View>
<View>
Стили:
const InitWindowStyles = StyleSheet.create({
root: {
flex: 1,
flexDirection: "row"
},
textBoxAndInputBox: {
flex: 1,
flexDirection: "column",
justifyContent: "space-between",
}
})
Результатне так плохо, но не идеально.
![enter image description here](https://i.stack.imgur.com/Uo7ad.png)
Преимущество, которое я вижу, состоит в том, что первый столбец автоматически масштабируется до наибольшей метки (не показано на рисунке выше), а второйстолбец принимает доступный размер.И это работает как в портретном, так и в ландшафтном режиме ...
Какой правильный способ сделать это?
Должен ли я иметь вид сверху с flexDirection: «столбец» и вспомогательные виды для каждогопара меток и текста?
В макете Android я бы использовал GridView для достижения того, чего я хочу.