react-native - SegmentedControlIOS for android in react-native

标签 react-native uisegmentedcontrol

我对在 react-native 中使用 SegmentedControlIOS 感到困惑,我在 IOS 模拟器中检查它是否有效,但是当我在 android 中检查它时,它会引发如下错误

SegmentedControlIOS is not supported on this platform



这是我的代码:
<View >
        <SegmentedControlIOS 
        tintColor="#D7D7D5"
        style={styles.SegmentedControlIOS}

         values={this.state.values}
          selectedIndex={this.state.selectedIndex}
          onChange={this._onChange}
          onValueChange={(val) =>{
            this.setState({
              value:val
            })
          }}/>        
        </View>

任何人都可以给我关于如何将 SegmentedControlIOS 用于 android 和 IOS 的建议,非常感谢这方面的任何帮助。

最佳答案

SegmentedControl是 iOS 上的内置原生组件。但是,Android 上没有直接等效项,这就是为什么 react 原生组件名称以 IOS 结尾的原因。并且在 Android 上不支持。没有明显的方法使内置组件在 Android 上工作。

这让您有两个选择:

  • 使用标准组件使用或创建您自己的版本。此 library具有可在两种操作系统上运行的分段控件的良好近似。
  • 在 iOS 和 Android 上使用两个独立的组件,这可以通过创建两个名为的文件自动完成:componentName.android.jscomponentName.ios.js (请参阅 here 了解更多信息,为每个平台使用不同的代码)。
    iOS 特定代码可以使用 iOS 分段控件,Android 版本可以使用类似 https://github.com/zzyyppqq/react-native-segmented-android 的代码。或自定义实现。
  • 关于react-native - SegmentedControlIOS for android in react-native,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35313387/

    相关文章:

    reactjs - react 旋转 Accordion 箭头 Onclick

    javascript - 绝对位置在组件外的图标无法按下

    javascript - 由于导航重置,ComponentDidMount 调用两次

    ios - 分段控制 TableView 的自定义编辑按钮

    ios - UISegmentedControl.enabled = NO 不会使它变暗

    ios - 导航 Controller 加载两次,如何解决?

    javascript - 如何在 React Native 的输入文本中添加图标左侧

    android - 如果设备被锁定,定时器完成后的通知 - React Native EXPO?

    iphone - 如何将 UISegmentedControl 合并到 UITabBarController 中?

    swift - 在 UisegmentedControl 中调整字体大小