J'essaie de créer une application native de réaction qui ressemble à une application Web existante. J'ai un pied de page fixe en bas de la fenêtre. Quelqu'un a-t-il une idée de la façon dont cela peut être réalisé avec react native?
dans l'application existante, c'est simple:
.footer {
position: fixed;
bottom: 0;
}
react-native
4ega
la source
la source
height
à la vue du pied de page et ça a l'air bien sur 4s et 6Voici le code réel basé sur la réponse Ramsay de Colin:
la source
J'utilise des pieds de page fixes pour les boutons de mon application. La façon dont j'implémente un pied de page fixe est la suivante:
Et si vous avez besoin que le pied de page se déplace vers le haut lorsqu'un clavier apparaît par exemple, vous pouvez utiliser:
Ensuite, utilisez {bottom: this.state.btnLocation} dans votre classe de pied de page fixe. J'espère que ça aide!
la source
import { Keyboard} from 'react-native'; Keyboard.addListener('keyboardWillShow', this.showHandler)
place.Vous obtenez d'abord la dimension, puis vous la manipulez via le style flex
En rendu
L'autre méthode consiste à utiliser flex
la source
@Alexander Merci pour la solution
Ci-dessous le code exactement ce que vous recherchez
Ci-dessous la capture d'écran
la source
Vous voudrez peut-être également jeter un œil à NativeBase ( http://nativebase.io ). Il s'agit d'une bibliothèque de composants pour React Native qui incluent une belle structure de mise en page ( http://nativebase.io/docs/v2.0.0/components#anatomy ), y compris des en-têtes et des pieds de page.
C'est un peu comme Bootstrap pour Mobile.
la source
Des trucs simples ici:
la source
Vous trouverez ci-dessous le code pour définir le pied de page et les éléments ci-dessus.
la source
La façon dont je l'ai fait était d'avoir une vue (appelons-la P) avec flex 1, puis à l'intérieur de cette vue ont 2 vues supplémentaires (C1 et C2) avec flex 0.9 et 0.1 respectivement (vous pouvez changer les hauteurs de flex aux valeurs requises) . Ensuite, à l'intérieur du C1 ont une vue de défilement. Cela a parfaitement fonctionné pour moi. Exemple ci-dessous.
la source
On pourrait réaliser quelque chose de similaire en réagissant natif avec
position: absolute
Il y a cependant quelques points à garder à l'esprit.
absolute
positionne l'élément par rapport à son parent.Une définition de style pratique ressemblerait à ceci:
la source
J'ai trouvé que l'utilisation de flex était la solution la plus simple.
la source
Lorsque flex est un nombre positif, cela rend le composant flexible et sa taille sera proportionnelle à sa valeur flex. Ainsi, un composant avec flex défini sur 2 prendra deux fois plus d'espace qu'un composant avec flex défini sur 1.
la source
Le meilleur moyen est d'utiliser la propriété justifyContent
si vous avez plusieurs éléments d'affichage à l'écran, vous pouvez utiliser
la source
puis sur l'écriture de ces styles
a fonctionné comme un charme
la source
Pour les problèmes Android avec ceci:
dans app / src / AndroidManifest.xml, remplacez windowSoftInputMode par ce qui suit.
Je n'ai eu absolument aucun problème avec cela dans iOS en utilisant react-native et keyboardAwareScroll. J'étais sur le point d'implémenter une tonne de code pour comprendre cela jusqu'à ce que quelqu'un me donne cette solution. A parfaitement fonctionné.
la source
si vous utilisez simplement react native pour pouvoir utiliser le code suivant
également, vous pouvez utiliser https://docs.nativebase.io/ dans votre projet natif react, puis faire quelque chose comme ce qui suit
React_Native
NativeBase.io
la source
Définissez android: windowSoftInputMode = "AdjustPan" dans votre fichier manifeste, et cela fonctionnera comme vous le souhaitez.
la source
Je pense que le meilleur et le plus facile serait comme ci-dessous, placez simplement le reste de votre vue dans un contenu et un pied de page dans une vue séparée.
ou vous pouvez utiliser le pied de page de la base native
la source
Suggestion 1
=> Corps avec pied de page fixe
Modifier 2
=> Corps et pied de page fixe avec onglets
Remarques
Avantages
Nous pouvons utiliser ce simple pied de page sans réagir à la navigation du bas
la source