1
votes

Comment changer l'arrière-plan de la vue racine dans une application expo gérée?

Avec l'introduction des feuilles de page dans iOS 13, il y a un fond blanc dans mon application que je ne peux pas sembler pouvoir changer (derrière la feuille de page blanche et le haut gris de la page sous-jacente):

Exemple de problème

De toute évidence, pour la plupart des applications, une couleur de fond noir serait bien meilleure.

Alors que pour les applications React Native éjectées, on peut utiliser:

https://github.com/johniak/react-native-root-view-background

Je suis curieux de savoir si quelqu'un utilisant l'Expo géré a trouvé un moyen de gérer cela. Comme je ne trouve pas beaucoup de plaintes sur ce problème, à part:

https://github.com/expo/expo/issues/1563


0 commentaires

3 Réponses :


0
votes

Je suppose que vous utilisez createNativeStackNavigator -navigation 5.x avec createNativeStackNavigator puis que vous utilisez la presentation:"modal" dans vos options d'écran. Je n'ai pas pu trouver un moyen de définir un fond noir sur la vue racine avec ce type de navigateur.

Voici ce que j'ai fini par faire:

  • créez un StackNavigator standard avec createStackNavigator , avec mode='modal' propriété mode='modal' .
  • mettre tous mes modaux dans ce navigateur à la racine de mon application avec ...TransitionPresets.ModalPresentationIOS dans mes options d'écran. Cela imite le comportement que vous recherchez, car createStackNavigator respecte la propriété backgroundColor définie dans votre fichier app.json pour sa vue racine.

J'ai trouvé cette solution après avoir trouvé ce Snack ( https://snack.expo.io/@satya164/modal-presentation-style-in-react-navigation ). C'est loin d'être parfait mais c'est le mieux que je puisse faire pour le moment en utilisant l'Expo géré. Avec les navigateurs imbriqués, je continue d'utiliser createNativeStackNavigator pour les navigateurs push afin d'obtenir de jolies transitions push natives pour autre chose que les modaux.


0 commentaires

0
votes

Pour tous ceux qui utilisent @react-navigation et recherchent un moyen de changer la couleur d'arrière-plan de la vue racine entre les changements d'onglet: ajoutez simplement le prop backgroundColor à app.json :

"backgroundColor": "#000000",

Peut également fonctionner dans d'autres scénarios.


0 commentaires

0
votes
There is an simple trick using navigator...
<NavigationContainer>
    <Stack.Navigator
        screenOptions={{
            cardStyle: {
                backgroundColor: 'Your_Color_Here'
            }
        }}
              <Stack.Screen name="Login" component={LoginScreen}  />
               <Stack.Screen name="Register" component={RegisterScreen} />
      </Stack.Navigator>
</NavigationContainer >
You can use cardStyle to change default white backgroundColor to your desire backgroundColor. I hope this answer helps use it works for me.

0 commentaires