我有关于标签的查询.我想要一个图像来使用我使用alignSelf做的父的整个宽度:stretch,但是我也想要根据图像的宽高比来设置高度.我该如何实现这样的事情?
所以我想要一种方式来指定高度是图像宽度的比例.
我喜欢bdv的方法,我几乎在我的应用程序中使用这种图像.这就是为什么我创建了一个使用onLayout来支持设备旋转的自己的组件.
export default class FullWidthImage extends Component { constructor() { super(); this.state = { width: 0,height: 0 }; } _onLayout(event) { const containerWidth = event.nativeEvent.layout.width; Image.getSize(this.props.source,(width,height) => { this.setState({ width: containerWidth,height: containerWidth * height / width }); }); } render() { return ( <View onLayout={this._onLayout.bind(this)}> <Image source={this.props.source} style={{ width: this.state.width,height: this.state.height }} /> </View> ); } }
你可以这样使用它:
<FullWidthImage source={{uri: 'http://example.com/image.jpg'}} />