react-native - ViewPagerAndroid 未在 ScrollView 中显示(使用 Reacnative)
问题描述
我正在尝试使用ViewPagerAndroid
inside ScrollView
,但没有像这样呈现。
添加后contentContainerStyle={{ flex: 1 }}
,ScrollView
将ViewPagerAndroid
正确呈现,但整个页面将无法像这样滚动
(整页不能滚动,只能FlatList
部分滚动)
这是一个页面容器
<ScrollView contentContainerStyle={{ flex: 1 }}>
<View style={styles.container}>
<CustomHeader/>
{Platform.OS === 'android'
? (
<CategoryViewPager>
<View
key="0"
style={styles.viewContent}
>
<DishesListContainer />
</View>
<View
key="1"
style={styles.viewContent}
>
<Text>Second page 2</Text>
</View>
</CategoryViewPager>
)
: (
<Text>IOS Support later</Text>
)
}
</View>
</ScrollView>
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: 'red',
},
viewContent: {
paddingLeft: dimens.level_12,
paddingRight: dimens.level_12,
},
})
这是ViewPager
// CategoryViewPager/index.js
<View style={styles.container}>
<CustomTabsButton/>
<ViewPagerAndroid
style={styles.viewPager}
>
{this.props.children}
</ViewPagerAndroid>
</View>
const styles = StyleSheet.create({
container: {
flex: 1,
},
viewPager: {
flex: 1,
backgroundColor: setColors.mainBg,
},
})
这是FlatList
一部分
// DishesListContainer/index.js
const DishesListContainer = props => (
<View>
{props.isShowTitleBar && (
<CategoryTitleBar />
)}
{props.dishes && (
<FlatList
style={styles.listContainer}
data={props.dishes}
keyExtractor={item => `${item.pk}-${item.sk}`}
numColumns={Dimensions.get('window').width > 600 ? 3 : 2}
renderItem={({ item }) => (
<DishesList
photoUrl={item.photoUrls[0]}
name={item.name}
priceRange={item.priceRange}
/>
)}
/>
)}
</View>
)
那么我怎样才能ViewPager
正确显示并正常ScrollView
工作(滚动整个屏幕)
谢谢!
解决方案
推荐阅读
- python - 如何使用数据库 FastAPI 实现连接主/从 PostgresSQL
- java - Android中的实时流录制
- javascript - Vue js scrollIntoView 仅在元素的 div 中
- cryptography - 如何在 CPP 中获取最新版本的加密货币 QuickFix 协议
- javascript - Select2 - Javascript:在 select2 上禁用谷歌翻译
- reactive-programming - ConcurrentLinkedQueue 上的反应流 Flux
- typescript - 尝试使用命名空间运行转译的打字稿代码时出错
- azure-api-management - 获取 APIM 生成的 traceparent 并从响应头返回
- postgresql - Postgres从psql函数内部获取重复键异常(DELETE AND INSERT)
- java - ClientHttpRequestInterceptor 拦截方法调用顺序?