在Touchable中查看未在Android上呈现

时间:2018-04-02 20:35:36

标签: react-native

我创建了一个应该触摸的自定义按钮组件。它在iOS上运行正常,但在Android上它根本没有显示出来。在试图找到这个问题的原因时。

我在世博会上创造了两个小吃以证明这个问题。第一个是包裹在Touchable元素中的元素,第二个是没有它的元素。

在第一个小吃中,它在iOS中按预期工作,但它不会在Android上显示。

在第二个零食中,两者都显示出预期效果,但并未点击

https://snack.expo.io/@shepherdjerred/button-with-touchable https://snack.expo.io/@shepherdjerred/button-without-touchable

1 个答案:

答案 0 :(得分:0)

对于第一个零食,将style = {{flex:1}}添加到第一个视图组件。 Flex根据应用程序屏幕中可用的空间量调整组件。

return (
  <TouchableWithoutFeedback onPressIn={this.handlePressIn.bind(this)}
    onPressOut={this.handlePressOut.bind(this)}>
    <View style={{flex: 1}}>
      <View
        style={[
          this.stylesheet.buttonLayer,
          this.stylesheet.buttonShadow
        ]}>
      </View>
      <View
        style={[
          this.stylesheet.buttonLayer,
          this.stylesheet.buttonDepth
        ]}>
      </View>
      <View
        style={[
          this.stylesheet.buttonLayer,
          this.stylesheet.buttonTop,
          this.state.isPressed ? this.stylesheet.buttonTopPushed : this.stylesheet.buttonTopUnpushed
        ]}>
      </View>
    </View>
  </TouchableWithoutFeedback>
);
}

对于第二个零食,React Native网站有两种创建可触摸按钮或组件的方法。

参考文献: