Reactjs 在设备外部反应本机模式内容';s观点
我有下面的Reactjs 在设备外部反应本机模式内容';s观点,reactjs,react-native,react-native-android,react-native-ios,Reactjs,React Native,React Native Android,React Native Ios,我有下面的模式,当它不适合屏幕时,我希望它的内容可以滚动。但是,当设备的窗口变小时,模式的内容刚好溢出设备的视图边界之外-一些页眉和部分页脚丢失 如何激活scrollView,使内容包含在设备的视图范围内 从'react native'导入{Modal,ScrollView}; { setModalVisibility(!modalVisible); }}> ..... 编辑: 对于任何有同样问题的人。我发现的一个修复方法是在模式中的视图上设置高度到height:Dimensions.get(
模式
,当它不适合屏幕时,我希望它的内容可以滚动。但是,当设备的窗口变小时,模式
的内容刚好溢出设备的视图边界之外-一些页眉和部分页脚丢失
如何激活scrollView,使内容包含在设备的视图范围内
从'react native'导入{Modal,ScrollView};
{
setModalVisibility(!modalVisible);
}}>
.....
编辑:
对于任何有同样问题的人。我发现的一个修复方法是在模式中的视图上设置高度到height:Dimensions.get('window')。height,
。由于模态似乎具有绝对定位,这可能是唯一的方法。
然而,这样做的一个缺点是,在更大的屏幕上,你仍然会占据所有的空间。当我有一个修复工作正常,我会张贴一个答案 尝试在父视图中插入模型,并根据需要设置父视图样式
import React, { Component } from "react";
import { Modal, View, ScrollView } from "react-native";
class ModalExample extends Component {
state = {
modalVisible: true
};
setModalVisibility = () => {
this.setState({
modalVisible: this.state.modalVisible
});
};
render() {
return (
<View style={{ flex: 1 }}>
<Modal
animationType="fade"
transparent={true}
visible={this.state.modalVisible}
onRequestClose={this.setModalVisibility}
>
<ScrollView contentContainerStyle={styles.modalOuterContainer}>
...
</ScrollView>
</Modal>
</View>
);
}
}
import React,{Component}来自“React”;
从“react native”导入{Modal,View,ScrollView};
类ModalExample扩展组件{
状态={
modalVisible:对
};
setModalVisibility=()=>{
这是我的国家({
modalVisible:this.state.modalVisible
});
};
render(){
返回(
...
);
}
}
对于我的案例来说,一个很好的解决方案是在模式中有一个视图
元素,maxHeight
设置为maxHeight:Dimensions.get('window')。高度-50,
。我使用-50
只是为了有一些边距,但这不是必需的
import { Modal, ScrollView } from 'react-native';
<Modal
transparent
animationType="fade"
visible={modalVisible}
onRequestClose={() => {
setModalVisibility(!modalVisible);
}}>
<View style={{maxHeight: Dimensions.get('window').height - 50}}
<ScrollView contentContainerStyle={styles.modalOuterContainer}>
.....
</ScrollView>
</View>
</Modal>
从'react native'导入{Modal,ScrollView};
{
setModalVisibility(!modalVisible);
}}>
尝试使用flex:1
将滚动视图包装到视图中,如果我这样做,它现在会像模态一样弹出,并且它会将其他所有内容推到更低的位置,因为视图可能没有相同的位置。视图不会推低任何内容,因为它位于模态内部。误读包装模态。我也试过了,但标题仍然在设备屏幕之外。您是否在小屏幕设备上测试过这种方法?我使用的是Android Emulator-3.3wqvga,它不工作。