Défilement de l'image avec le zoom par pincement
J'essaie d'afficher une image dans mon Réagir Native app (Android) et je veux donner aux utilisateurs une capacité de zoom de l'image dans et hors.
Cela nécessite également l'image défilant, une fois agrandie.
Comment m'y prendre?
J'ai essayé d'utiliser ScrollView
pour afficher une image plus grande à l'intérieur, mais sur Android, il peut soit faire défiler verticalement ou horizontalement, pas deux manières à la fois.
Même si ça marche il y a un problème de prise de pinch-to-zoom
travail.
Pour autant que je comprends que j'ai besoin d'utiliser PanResponder
sur une vue personnalisée pour effectuer un zoom sur une image et de se positionner en conséquence. Est-il un moyen plus facile?
- Vous pouvez regarder dehors pour Android pinch-to-zoom d'Affichage de l'Image des bibliothèques et de l'associer à une réaction des composants natifs.
- J'ai le même problème, @Leonti, ne vous le résoudre?
- oui, j'ai eu à écrire mon propre composant, veuillez voir la réponse
Vous devez vous connecter pour publier un commentaire.
J'ai fini par rouler ma propre
ZoomableImage
composant. Jusqu'à présent, il fonctionne assez bien, voici le code:JS:
onPanResponderMove
n'est jamais déclenché quand il y a 2 doigts sur l'image. Une idée? Vous pouvez publier une Expo/CRNA application qui montre comment utiliser votre code correctement? Conformément à cette question, je suis pas le seul à avoir le problème: github.com/stoffern/react-native-image-cropper/issues/8import PropTypes from 'prop-types';
Vous devez l'importer à partir d'un paquetage séparé maintenant, et non pas commeimport React, {Component, PropTypes} from 'react';
du paquet principalIl y a un moyen beaucoup plus facile maintenant.
Il suffit de faire une ScollView avec
minimumZoomScale
etmaximumZoomScale
: