React Native Android - 如何在TouchableHighlight上生成涟漪效果?

时间:2017-01-21 02:32:04

标签: react-native

所以我想要做的是创建一个具有按下状态和未按下状态的按钮(因此我使用TouchableHighlight的原因),即

_onShowUnderlay = () => {
  this.setState({pressed: true})
}

_onHideUnderlay = () => {
  this.setState({pressed: false})
}

 <TouchableHighlight
  onPress={this.props.onPress}
  style={containerStyle} //style controlled by this.state.pressed
  onHideUnderlay={this._onHideUnderlay}
  onShowUnderlay={this._onShowUnderlay}>
  {this.props.image}
 </TouchableHighlight>

通常我会使用TouchableNativeFeedback来做这个,但我不能这样做,因为我需要使用TouchableHighlight的onHideUnderlay和onShowUnderlay来控制状态。

那么如何同时实现纹波和压缩/未压缩状态?

1 个答案:

答案 0 :(得分:0)

我找到了一个为你完成工作的npm包:https://www.npmjs.com/package/react-native-material-button

如果您感兴趣,请参阅以下内容:https://github.com/recr0ns/react-native-material-button/blob/master/index.js

看起来包装本身存在问题。我目前正在寻找更好的产品。

这是一个很棒的包装理想。我也需要它。

希望这有帮助