如何在react-native上使用不同的android和ios样式?

时间:2015-11-18 06:29:27

标签: javascript android ios reactjs react-native

我想为ios和android使用不同的样式,我该怎么办? 也许有人知道如何设置TextInput样式,我只需要底部边框,但borderBottomWidth不起作用。

3 个答案:

答案 0 :(得分:9)

有很多方法可以实现这一目标。在你的情况下最简单的是使用Platform.OS:

var {Platform} = React;

var styles = StyleSheet.create({
    height: (Platform.OS === 'ios') ? 200 : 100
});

答案 1 :(得分:2)

https://facebook.github.io/react-native/docs/platform-specific-code中,您可以使用Platform.select

  

还有一个Platform.select方法可用,给定一个包含Platform.OS作为键的对象,该方法返回您当前正在运行的平台的值。

import { Platform, StyleSheet } from 'react-native'

const styles = StyleSheet.create({
  container: {
    flex: 1,
    ...Platform.select({
      ios: {
        backgroundColor: 'red',
      },
      android: {
        backgroundColor: 'blue',
      },
    }),
  }
})

答案 2 :(得分:0)

import { Platform, StyleSheet } from 'react-native'

const styles = StyleSheet.create({
    logo: {
        width: (Platform.OS === 'ios') ? 80 : 100,
    }
});