J'essaie d'utiliser react-native-keyboard-spacer
conjointement avec react-navigation
.
Je règle actuellement la topSpacing
de l'entretoise clavier sur -49
, qui correspond à la hauteur de la barre de tabulation de react-navigation
, mais la barre de tabulation se trouve dans un SafeAreaView
auquel magiquement ajoute un remplissage pour déplacer le contenu une zone qui n'interfère pas avec l'interface utilisateur native.
Cela signifie que lorsque vous affichez l'application sur un iPhone X ou un appareil similaire, la barre d'onglets devient plus grande que 50
.
Quel serait le meilleur moyen d’atteindre la hauteur de la variable SafeAreaView
?
Voici la liste de remplissage de react-navigation
SafeAreaView
paddingLeft: 44
paddingRight: 44
paddingBottom: 24
paddingTop: 0
paddingLeft: 0
paddingRight: 0
paddingBottom:34
paddingTop:44 // ... Including Status bar height
Vous pouvez utiliser la zone react-native-safe-area . il fournit la fonction pour obtenir une zone de sécurité insérée haut, bas, gauche, droite.
import SafeArea, { type SafeAreaInsets } from 'react-native-safe-area'
//Retrieve safe area insets for root view
SafeArea.getSafeAreaInsetsForRootView()
.then((result) => {
console.log(result)
// { safeAreaInsets: { top: 44, left: 0, bottom: 34, right: 0 } }
})