我目前正在开发一个应用程序将用于Android平板电脑,不幸的是,我得到了舒适,并添加了太多的功能在网页视图之前,再次测试在Android上,现在他们看起来很不一样.我有一些元素在一个flex-box view
与flex-direction 'row'
,这是他们在浏览器上的外观,他们应该如何看:
然后Android上的同一个应用程序看起来像这样:
您可以看到两行的输入没有合适的高度来适应文本,底部的第三行已经来自另一个输入。
这是组件代码(我删除了一个输入行以使其更简单):
<View>
<Text style={styles.header}>
{LanguageService(language).form.personalData}:
</Text>
<View style={styles.twoColumns}>
<View style={styles.inputWrapper}>
<Text>
{LanguageService(language).form.firstName}:
</Text>
<TextInput
style={styles.input}
onChangeText={formikProps.handleChange('firstName')}
value={formikProps.values.firstName}
maxLength={20}
/>
</View>
<View style={styles.inputWrapper}>
<Text>
{LanguageService(language).form.phone}:
</Text>
<TextInput
style={styles.input}
onChangeText={formikProps.handleChange('phoneNumber')}
value={formikProps.values.phoneNumber}
keyboardType='phone-pad'
maxLength={15}
/>
</View>
</View>
</View>
这里是风格:
const styles = StyleSheet.create({
twoColumns: {
flex: 1,
flexDirection: 'row',
justifyContent: 'space-between',
},
inputWrapper: {
width: '48%',
flexDirection: 'row',
justifyContent: 'space-around',
borderBottomWidth: 1,
borderBottomColor: 'black',
margin: 10,
},
input: {
flexGrow: 1,
paddingLeft: 5,
},
header: {
color: 'red',
fontWeight: 'bold',
fontSize: 22,
},
}
2条答案
按热度按时间pgvzfuti1#
我想你可以用这个结构来实现第一张图中的形状:
款式:
prdp8dxp2#
我通过删除以下行来解决这个问题: