react-native - 为什么我的模态高度占据了屏幕的一半?
问题描述
我的模式 - noDevicesModalContainer - 占用了大量的屏幕,我不知道为什么。
我对 React Native 和 Web 开发很陌生,所以请不要害怕过度解释!
预先感谢您的建议。
class DevicesEmptyScreen extends Component {
render() {
return (
<View style={styles.screen}>
<View style={styles.noDevicesImage}>
<Image
source={require('./../../../android/app/src/main/res/drawable/no_devices.png')}
/>
</View>
<View style={styles.noDevicesTextContainer}>
<Text style={styles.noDevicesText}>You do not have any devices yet</Text>
</View>
<View style={styles.noDevicesModalContainer}>
<Text style={[styles.noDevicesText, styles.noDevicesModalText]}>
In case no devices have been assigned, please contact your administrator
</Text>
</View>
</View>
)
}
}
export default DevicesEmptyScreen
const styles = StyleSheet.create({
screen: {
flex: 1,
justifyContent: 'center',
alignItems: 'center'
},
noDevicesImage: {
flex: 1,
marginTop: 40
},
noDevicesTextContainer: {
flex: 1,
justifyContent: 'center'
},
noDevicesText: {
color: '#89C7C8',
padding: 10
},
noDevicesModalContainer: {
flex: 1,
backgroundColor: '#EBF5F6',
borderRadius: 10,
marginHorizontal: 30,
marginVertical: 30
},
noDevicesModalText: {
marginLeft: 20
}
})
解决方案
根据模态文档。尝试这个
<Modal transparent={true}
visible={this.state.isVisible}
onRequestClose={this.closeModal}>
<View style={{
flex: 1,
flexDirection: 'column',
justifyContent: 'center',
alignItems: 'center'}}>
<View style={{
width: 300,
height: 300}}>
...
</View>
</View>
</Modal>
推荐阅读
- validation - Detectron2-如何在训练期间记录验证损失?
- ios - iOS 调试器无法类型转换变量?
- vb.net - VB .NET 堆栈溢出 System.StackOverflowException
- postgresql - 获取 PostgreSQL 中当前事务的差异
- python - Python 在 Windows 上启动缓慢
- xamarin.forms - 从选取器中选择 ID
- ruby-on-rails - RSpec 时间比较在本地失败,通过 CircleCI 和 Heroku
- java - Java thenComparing通配符签名
- azure - Azure 政府服务总线托管标识
- python - 如何将 Jupyter 的 python 版本从 3.7 更改为 3.8?