在 React Native 中,如何定位和滑动大于屏幕视图的元素?
In React Native, how do I position and slide an element thats bigger than screen view?
在下图中,每个面板都是屏幕的大小,并且它们作为一个大元素可以快速左右滑动。如果幻灯片过渡有问题,时间 = 0 没问题,所以它是瞬时的。
每个面板的内容在屏幕外保持挂载状态,因为子项中有一个 webview,我想防止重新加载网页(如果重新挂载面板会发生这种情况)。
我该怎么做呢? (编辑:没有插件或现成的导航系统)
您可以将选项卡导航器与 swipedEnabled: true 一起使用,这两个组件也将保持挂载状态。参考 React-Navigation
一个抽象的例子是这样的
const MyApp = TabNavigator({
Home: {
screen: MyHomeScreen,
},
Notifications: {
screen: MyNotificationsScreen,
},
}, {
tabBarOptions: {
activeTintColor: '#e91e63',
},
});
主页和通知将成为您的组成部分
这是使用 CSS 和 HTML 的方法,您可以将其转换为与 React Native 一起使用。
<html>
<header>
<style>
#body{
display: flex;
justify-content: center;
width: 200vw;
}
#inner{
width: 100%;
height: 100%;
display: flex;
background: #de9999;
align-items: center;
}
#body #body-left{
flex: 1 0 50%;
height: 100%;
background: green;
}
#body #body-right{
flex: 1 0 50%;
height: 100%;
background: lightgrey;
}
</style>
</header>
<body>
<div id="body">
<div id="inner">
<div id="body-left"></div>
<div id="body-right"></div>
</div>
</div>
</body>
</html>
在下图中,每个面板都是屏幕的大小,并且它们作为一个大元素可以快速左右滑动。如果幻灯片过渡有问题,时间 = 0 没问题,所以它是瞬时的。
每个面板的内容在屏幕外保持挂载状态,因为子项中有一个 webview,我想防止重新加载网页(如果重新挂载面板会发生这种情况)。 我该怎么做呢? (编辑:没有插件或现成的导航系统)
您可以将选项卡导航器与 swipedEnabled: true 一起使用,这两个组件也将保持挂载状态。参考 React-Navigation
一个抽象的例子是这样的
const MyApp = TabNavigator({
Home: {
screen: MyHomeScreen,
},
Notifications: {
screen: MyNotificationsScreen,
},
}, {
tabBarOptions: {
activeTintColor: '#e91e63',
},
});
主页和通知将成为您的组成部分
这是使用 CSS 和 HTML 的方法,您可以将其转换为与 React Native 一起使用。
<html>
<header>
<style>
#body{
display: flex;
justify-content: center;
width: 200vw;
}
#inner{
width: 100%;
height: 100%;
display: flex;
background: #de9999;
align-items: center;
}
#body #body-left{
flex: 1 0 50%;
height: 100%;
background: green;
}
#body #body-right{
flex: 1 0 50%;
height: 100%;
background: lightgrey;
}
</style>
</header>
<body>
<div id="body">
<div id="inner">
<div id="body-left"></div>
<div id="body-right"></div>
</div>
</div>
</body>
</html>