2016-03-15 15 views
12

Posso usare ViewPagerAndroid, ma quando lo metto sotto un componente ScrollView non viene eseguito il rendering. Qualcuno lo ha mai incontrato prima?ViewPagerAndroid non viene visualizzato in ScrollView utilizzando React-Native

React-Native: versione 0.22 Piattaforma: Android

Questo funziona come previsto:

<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>; 

quanto segue rende nulla:

<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> 

ho creato un problema su github anche: #6469

+0

Forse è necessario dare una dimensione anche a ScrollView? Prova a mettere qualcos'altro nello ScrollView (come il testo) per vedere se questo va bene. –

+0

@MartinKonicek Quando conferisco altezza a ViewPagerAndroid, ha iniziato a funzionare come previsto, ma il problema è che sto tentando di utilizzare flex: 1, in modo che scrollView copra tutto lo spazio disponibile. C'è un modo per farlo, ho aggiornato il codice aggiungendo flex: 1 come stile anche a ScrollView. – cubbuk

+0

So che è una vecchia domanda, ma puoi provare ad aggiungere contentContainerStyle = {{flex: 1}} al tuo ScrollView. Ad esempio,

risposta

3

È una vecchia domanda, ma ho anche affrontato il problema simmilar e l'ho risolto aggiungendo contentContainerStyle = {{flex: 1}} per scrollview tag. E.g.

<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

Spero che questo funzioni per voi.

<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> 
Problemi correlati