2016-03-15 2 views
12

Я могу использовать ViewPagerAndroid, но когда я положил его под компонент ScrollView, ничего не получилось. Кто-нибудь сталкивался с этим раньше?ViewPagerAndroid не отображается под ScrollView с использованием React-Native

React-Native: версия 0.22 Платформа: Android

Это работает, как ожидалось:

<ViewPagerAndroid style={{flex: 1}} initialPage={0}> 
    <View><Text>View 1</Text></View> 
    <View><Text>View 2</Text></View> 
    <View><Text>View 3</Text></View> 
</ViewPagerAndroid>; 

Следующая не делает ничего:

<ScrollView style={{flex: 1}}> 
<ViewPagerAndroid style={{flex: 1}} initialPage={0}> 
    <View><Text>View 1</Text></View> 
    <View><Text>View 2</Text></View> 
    <View><Text>View 3</Text></View> 
</ViewPagerAndroid> 
</ScrollView> 

Я создал проблему на GitHub также: #6469

+0

Возможно, вам также нужно указать ScrollView? Попробуйте помещать что-то еще в ScrollView (например, Text), чтобы увидеть, отлично ли это отображается. –

+0

@MartinKonicek Когда я даю высоту ViewPagerAndroid, он начал работать, как ожидалось, но проблема в том, что я пытаюсь использовать flex: 1, так что scrollView будет закрывать столько, сколько места доступно. Есть ли способ достичь этого, я обновил код, добавив flex: 1 как стиль в ScrollView. – cubbuk

+0

Я знаю, что это старый вопрос, но вы можете попробовать добавить contentContainerStyle = {{flex: 1}} в свой ScrollView. Например,

ответ

3

Это старый вопрос, но я также столкнулся с проблемой и решил его, добавив contentContainerStyle = {{flex: 1}} в тег scrollview. .

<View style={{ flex: 1 }}> 
    <ScrollView style={{ flex: 1 }} contentContainerStyle={{ flex: 1 }}> 
     <ViewPagerAndroid style={{ flex: 1 }} initialPage={0}> 
      <View><Text>View 1</Text></View> 
      <View><Text>View 2</Text></View> 
      <View><Text>View 3</Text></View> 
     </ViewPagerAndroid> 
    </ScrollView> 
    {/*some other views*/} 
    <View style={{ height: 20, width: null, flex: 1 }}/> 
</View> 
0

Надеюсь, это сработает для вас.

<ScrollView style={{flex: 1}}> 
     <View style={{flex: 1}} > 
     <ViewPagerAndroid style={{flex: 1}} initialPage={0}> 
      <View><Text>View 1</Text></View> 
      <View><Text>View 2</Text></View> 
      <View><Text>View 3</Text></View> 
     </ViewPagerAndroid> 
    </View> 
</ScrollView> 
Смежные вопросы