我在react-native中做一个多平台应用程序,但是某些布局属性在Android中起作用,但在IOS中不起作用。在我们的代码中进行了一些搜索之后,我们发现内联属性是使我们麻烦的事情,就像该代码中一样:
<Button
style={principal_style.botoes}
backgroundColor='#e3e3e3'
onPress={() => this.logaUser() }>
<Text style={principal_style.btntxtstylewhite}>{this.state.txtEntrar}</Text>
</Button>
backgroundColor属性被完全忽略,并且该问题在使用该CSS属性的所有方式(宽度,高度,所有内容)中都会重复出现。即使将属性放在Style道具内,它也不会执行任何操作,如该代码中所示:
<View style={{flex: 1, justifyContent: 'center', }}>
<Text style={{color:'#ffffff', fontSize:12, textAlign: 'center', marginTop: 20,}}>V - 0.02</Text>
</View>
现在,关于外部样式表,它们可以完美工作,就像第一个代码片段一样,它具有一个称为principal_style.botoes的样式道具,下面是代码:
botoes: {
flex: 2,
backgroundColor: 'blue',
height:70,
flexDirection: 'row',
justifyContent: 'center',
alignItems: 'center',
marginLeft: 40,
marginRight: 40,
borderRadius: 20,
marginBottom: 20
},
我不知道该怎么办,也许有一些react命令,还有什么要用的,内联样式应该可以在IOS中使用,对吧?
请给我一些启发。
编辑1
我可以解决第一个问题
<TouchableHighlight style={[styles.button,{ backgroundColor: '#f00'}]}
学分: Answer from another thread
编辑2-解决方案
我设法解决了这些问题,结果整个事情是我的错误造成的,flex属性是错误的,我将其与其他高度方式混合在一起,使整个文本消失了,现在一切正常完美地,我可以给任何人的建议都会遇到这样的问题:如果您以正确的方式进行操作,一切都会正常。
覆盖外部样式以在两个平台上均能正常工作的正确方法
<TouchableHighlight style={[styles.button,{ backgroundColor: '#f00'}]}
我忘了提到我正在使用 NATIVE-BASE按钮