J'utilise photoview PhotoView pour mettre en œuvre Pinch Zoom..Image Zooms sur pinching et double taraudage, mais je ne peux pas voir que mon image a étouffé à l'écran complet sur zoom. Il a l'air de zoomer dans une boîte et une partie de l'image disparaît sur le zoom ... Comment puis-je implémenter l'image Zoom de sorte que la hauteur de l'image augmente de zoom? J'utilise NetworkImageView (of Volley Bibliothèque).
<FrameLayout android:id="@+id/image_holder" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_centerVertical="true" android:background="@color/black" >
8 Réponses :
Mieux vaut essayer une approche différente si vous êtes coincé
Vous pouvez trouver ci-dessous un lien vers une classe créée par Jason Polores qui vous permettra de gérer Pinch Zooms sur personnalisé imageviews: https://github.com/jasonpolites/gesture-ImageView . p>
Incluez simplement ce package dans votre application, puis vous sera en mesure d'utiliser un gestureimaveview code> dans vos fichiers XML: p>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:gesture-image="http://schemas.polites.com/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<com.polites.android.GestureImageView
android:id="@+id/image"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:src="@drawable/image"
gesture-image:min-scale="0.1"
gesture-image:max-scale="10.0"
gesture-image:strict="false"/>
Je pense que le problème est que le conteneur d'image ne redimensionniste pas lorsque l'image zooms..check out mon code Java complet ci-dessus
J'ai essayé ceci..my imageview est en train de passer cela .. android.googlesource.com/platform/frameworks/volley / + / ... ..et j'ai utilisé github.com/chrisbanes/photoView toujours je ne peux toujours pas voir que mon image a frappé à l'écran complet sur zoom. disparaît sur le zoom
Si vous souhaitez modifier la taille de l'imageView, vous devez modifier sesparams, comme j'ai démontré ici strong> . Vous pouvez également modifier sa balance à partir de nid d'abeille. p>
Cependant, si vous souhaitez simplement déplacer un rectangle dans l'image, qui zoomez aussi bien (comme d'autres applications qui permettent de cultiver), vous pouvez utiliser une bibliothèque comme "
Je pense que le problème est que le conteneur d'image ne redimension pas lorsque l'image zoom.
Lorsque je fais glisser une image, on dirait que l'image est dans le conteneur rectangle et une partie de l'image disparaît lorsque je le fais glisser à l'extérieur du conteneur ..
plzz vérifier mon code ci-dessus..Je pense que le problème est Imagecontainer Mimagecontainer ne redimensionne pas quand je zoomer l'image ..
Le code est trop long. Pouvez-vous s'il vous plaît poster un exemple (et avec le code aussi court que possible) que je ne peux que importer et exécuter? Peut-être aussi poster une vidéo montrant ce qui ne va pas?
Veuillez simplement télécharger sur un site Web de téléchargement de fichier, l'ensemble du projet, mais minimisé pour que je puisse me concentrer sur le problème et le trouver facilement.
J'ai essayé ceci..my imageview est en train de passer cela .. android.googlesource.com/platform/frameworks/volley / + / ... ..et j'ai utilisé github.com/chrisbanes/photoView toujours je ne peux toujours pas voir que mon image a frappé à l'écran complet sur zoom. disparaît sur le zoom
Pouvez-vous s'il vous plaît faire un nouveau projet minimisé qui a le problème et le télécharger, de sorte que je puisse le regarder au lieu de deviner selon les bibliothèques que vous avez utilisées? Il est vraiment difficile d'identifier le problème de cette façon.
Merci pour votre temps..J'ai posté le code ci-dessus que vous pouvez simplement importer et exécuter..so j'ai joint les captures d'écran..plzz Vérifiez-le
Je recommande vivement de jeter un coup d'œil à la vue photo:
https://github.com/chrisbanes/ Photoview p>
Il a été développé par Chris Banes qui est l'un des développeurs actuels qui ont travaillé sur l'équipe de développement Android, afin que vous ne puissiez pas vous tromper ici. Cette bibliothèque vous fera gagner beaucoup de maux de tête. p>
L'utilisation est aussi simple que: p>
Dans mon projet, il est nécessaire d'ajouter une fonction à un seul robinet ..Si j'utilise Chrisbanes PhotoView, puis-je ajouter une fonction à SingleTap également sur ImageView car il est nécessaire de montrer et de masquer le panneau sur un seul robinet?
Mon imageView est en train de passer cela .. Android.Jooglesource.com/platform/frameworks/volley / + / ... ..et j'ai utilisé Chrisbanes PhotoView toujours, je ne peux pas voir que mon image a frappé à l'écran complet sur le zoom et le zoom Il semble que l'image zoomère dans une boîte et une partie de l'image disparaît sur le zoom
C'est parce que l'imageView a une hauteur de vue de "Wrap_Content". Changez-le en "Match_Parent" et définissez le pelotype de l'image pour être "CentryInde" pour résoudre votre problème. P>
J'ai créé un projet entièrement fonctionnel sur GitHub. Lien à la fin de la réponse.
éléments problématiques: strong> p> 1. Obtenir des événements tactiles et utiliser ses variables pour définir le niveau de zoom de l'image et la fenêtre. (gauche, haut, droite, bas). em> p> code d'échantillon: strong> seule une partie de l'image montrera à la fois. Par conséquent, réglage touche écouteur (vous pouvez modifier cela pour ajouter votre événement de clic) 2. Depuis zoomer requis. Je suppose que nous utilisons des images de haute qualité. Em> p> par conséquent, chargement de l'image de qualité de la taille complète lorsque zoomé Out ne bénéficiera pas, car l'utilisateur ne reconnaîtra pas les petits détails. Mais cela augmentera l'utilisation de la mémoire et pourrait se bloquer pour de très grandes images. P> Truc de la solution: sur zoomer Charger la fenêtre plus grande avec une qualité inférieure.
Sur zoomer la fenêtre plus petite de charge avec une qualité supérieure. P>
blockQuote> La solution proposée vérifie le niveau de zoom actuel et la fenêtre d'image requise et basée sur celui qui ne reçoit qu'une partie de l'image avec une qualité spécifique utilisant initialiser le décodeur d'image qui va être utilisé ultérieurement pour demander une partie de l'image: p> Android: Scaletype = "fitcenter" code> atteindra le zoom. p>
Rect pRect = new Rect(left, top, left + newWidth, top + newHeight);
BitmapFactory.Options bounds = new BitmapFactory.Options();
int inSampleSize = 1;
if (tempScale <= 2.75) // you can map scale with quality better than this.
inSampleSize = 2;
bounds.inSampleSize = inSampleSize; // set image quality. takes binary steps only. 1, 2, 4, 8 . .
bm = bitmapRegionDecoder.decodeRegion(pRect, bounds);
imageView.setImageBitmap(bm);
Le problème est que lorsque vous utilisez NetworkImageView ne se comporte pas de la même manière qu'une vision d'image, je le résolvez en créant une conception XML pour le portrait et le paysage
Portrait fort> P>
mise en page / item_image.xml strong> p>
hauteur = "match_parent" et largeur = "wrap_content", important terres forte> p> maintenant dans la mise en page hauteur = "wrap_content" et largeur = "match_parent", toujours Il est également important d'instancier l'objet photoviewacher après avoir attribué La ressource vers le contrôle NetworkImageView Control P> NetworkImageView imageView;
PhotoViewAttacher mAttacher;
imageView = (NetworkImageView)
mImgPagerView.findViewById(R.id.imageitem);
//firts set the image resources, i'm using Android Volley Request
ImageLoader imageLoader = MySocialMediaSingleton.getInstance(context).getImageLoader();
imageView.setImageUrl(url, imageLoader);
//next create instance of PhotoViewAttecher
mAttacher = new PhotoViewAttacher(imageView);
mAttacher.update();
J'utilise imageviewTouch et j'ai le même problème. Pour résoudre ce problème, vous pouvez envelopper ImageView intérieure de la mise en page sans aucun autre enfant. Exemple:
J'avais été confrontés à ce problème dans la bibliothèque de zoom de l'image. J'ai été changé la licyout_height est "Wrap_Content" à "match_parent. Cela fonctionne bien pour moi.
HTTPS: // github.com/chrisbanes/photoview p>
Je ne suis pas sûr que je reçois votre problème. Peut-être Ceci aide?
@Dergolem Outre ce code, j'ai même essayé d'utiliser chrisbanes github.com/chrisbanes/photoview mais le même problème existe ..Image zoom sur pincement et double taraudage, mais la taille de l'image d'image reste fixe..Le n'augmente pas le zoom..Je veux juste comme dans la taille de WhatsApp de ImageView augmente sur zoomer..maybe Quelqu'un est dans mon fichier de mise en page qui J'ai posté mon fichier de présentation XML complet..plzz Vérifiez-le ..
Je n'utilise pas WhatsApp (j'utilise Telegram), donc je ne peux pas comprendre ce zoom sur "ImageView", au lieu du "Zoom de l'image". Est-ce votre sens? L'imageView doit-elle modifier la taille en conséquence de son contenu?
ouais..ImageView a à modifier la taille en fonction du contenu..so lorsque je zoom image, la vue de l'image doit augmenter de taille..mais mon image IMAGEView de taille fixe sur le zoom-in et le zoom-dehors, mais l'image zoomer sur le zoom
Je viens de trouver ceci: Stackoverflow.com/a/5355281/2649012 . Si je comprenais correctement, ce qu'il fait, c'est d'adapter l'imageView à son contenu. Par défaut à False.
@Dergolem J'ai essayé d'ajouter Android: Réglerviewbounds = "true" mais même problème ..ImageView hauteur reste corrigé ..Only le contenu à l'intérieur de ImageView zoom-in et zoom arrière
Oh! Maintenant que je pense à ... J'ai manqué quelque chose d'évident: où vous zoomez la taille de l'image, vous pouvez également réaffecter la taille de l'imageView.
Thnku pour votre temps ..wht code dois-je mettre pour redimensionner l'imageView sur zoomer..check out mon code ci-dessus ..m Je ne pas réduire la vue sur le zoom?
@Dergolem je doute que certains problèmes soient dans mon fichier XML de mise en page mais je ne reçois pas ..
Eh bien, si layout_height et la largeur sont réglées sur WraP_Content, il doit modifier automatiquement sa taille pour s'adapter à son contenu sans qu'il soit nécessaire de la définir de manière programmatique.
J'ai défini la hauteur sur envelopper_content seulement mais toujours sa ne pas ajuster..width est bon ..Width changements pour de petites images sur zoomer ..
La largeur va bien .. Augmentation des petites images sur le zoom.
Donc, probablement la hauteur doit être identique à la largeur?
Si je définis la hauteur match_parent, l'image vient sur l'écran entier et a l'air étiré ..Also une partie de l'image semble manquante ..
Ma dernière idée (alors je les ai achevées) est de jouer avec l'attribut d'échelle de l'imageView, comme indiqué ici: etcodehome.blogspot.it/2011/05/...
Ok..Merci pour votre temps..Je vais essayer et que vous sachiez si cela fonctionne ..
faire ce code> Pas besoin Android: fond = "@ Diable / Image_Loading" /> Code>
Si vous avez toujours un problème, mettez simplement une disposition séparée de S et essayez ensuite. d'accord
Ok..Je vais essayer de vous laisser savoir
@Az_ j'ai essayé d'utiliser des mises en page séparées. Convient au contenu de Framelayout dans un fichier XML et reposez-vous dans un autre fichier XML, mais le même résultat..size de ImageView reste fixé en zoom-in et zoom-out. Framelayout fait partie de la viewpager
@Az_ u peut consulter le fichier de mise à jour mis à jour en question ..
@Az_ Je pense que le problème est que le conteneur d'image ne redimensive pas lorsque l'image zooms..checker mon code Java complet ci-dessus
@Dergolem Je pense que le problème est que le conteneur d'image ne redimensionniste pas lorsque l'image zooms..check Out mon code Java complet ci-dessus
@Dergolem Imagecontainer n'a pas de méthodes de consolidation () et de Setethight () et de la largeur de la largeur et de la hauteur de Setethight () à travers Imagecontainer NewContainer = Mimageloader.get (Murl, Nouveau Imagelistener () {} ..
Je vois. Je pensais que cela avait les mêmes contreparties de
getwidth () code> et
getheight () code>
Peut-être dans Imagecontainer NewContainer = Mimageloader.get (Murl, Nouveau Imagelistener () {} où j'attribuions ConterWidth et ContainerHeight, je me tromperais peut-être?
Lorsque je fais glisser une image, il ressemble à cette image dans le conteneur rectangle et une partie de l'image disparaît lorsque je le fais glisser à l'extérieur du conteneur.
Check Out..J'ai des captures d'écran attachées en question ..
J'utilise ImageContainer défini dans la classe ImageLoader de Volley
J'ai essayé ceci..my imageview est en train de passer cela .. android.googlesource.com/platform/frameworks/volley / + / ... ..et j'ai utilisé github.com/chrisbanes/photoView toujours je ne peux toujours pas voir que mon image a frappé à l'écran complet sur zoom. disparaît sur le zoom
Avez-vous consulté exemple de Google? On dirait que vous pourriez être capable Animer à un conteneur plein écran caché similaire à ce qu'ils font et continuez à zoomer à partir de là.
même problème pour moi
Avez-vous eu la réponse?