2017-04-26 2 views
2
public class MainActivity extends AppCompatActivity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 


    //Variables 
    ImageView imageView; 
    imageView = (ImageView) findViewById(R.id.imageView); 

    //Loading into ImageView 
    Glide.with(this) 
      .load("http://vrijeme.hr/bradar.gif") 
      .into(imageView); 
} 

J'ai essayé d'utiliser Picasso aussi, puis la connexion avec la bibliothèque PhotoView mais il n'a rien fait, quand je essayé pincée pour l'agrandir n'a pas zoomer tout, voici une partie de ce code:je bibliothèque Glide pour charger l'image dans imageView et je ne sais pas comment faire pincer l'image à zoomable

ImageView imageView; 
PhotoViewAttacher photoView; 

imageView = (ImageView) findViewById(R.id.imageView); 
photoView = new PhotoViewAttacher(imageView); 
Picasso.with(this) 
     .load("link") 
     .resize(1080,80) 
     .into(imageView); 

Répondre

3

Vous pouvez par exemple utiliser cette bibliothèque. https://github.com/MikeOrtiz/TouchImageView

Chargez votre image dans ce widget, au lieu de ImageView

Exemple d'utilisation:

private TouchImageView mContentView; 
private private SimpleTarget target; 

mContentView = (TouchImageView) findViewById(R.id.fullscreen_content); 

target = new SimpleTarget<Bitmap>() { 
     @Override 
    public void onResourceReady(Bitmap bitmap, GlideAnimation glideAnimation) 
{ 
      // do something with the bitmap 
      // for demonstration purposes, let's just set it to an ImageView 
      mContentView.setImageBitmap(bitmap); 
     } 
    }; 



    Glide.with(this) // could be an issue! 
      .load(imagePath) 
      .asBitmap() 
      .into(target); 

avis, que j'utilise aussi SimpleTarget d'abord, il est bon pour l'utilisation de Glide et pincer pour zoomer effet pour les grandes images.

Et la mise en page sera quelque chose comme ceci:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
tools:context="com.example.FullscreenActivity"> 


<com.yourPath.TouchImageView 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:id="@+id/fullscreen_content"/> 

</FrameLayout> 

Aussi, parfois il y a un problème avec le chargement de l'image après cette configuration. Pour moi fonctionne quelque chose comme ça. I remplacer la méthode de la classe TouchImageView:

@Override 
public void setImageBitmap(Bitmap bm) { 
    imageRenderedAtLeastOnce = false; 
    super.setImageBitmap(bm); 
    savePreviousImageValues(); 
    fitImageToView(); 
} 
+0

I ajouté "imageRenderedAtLeastOnce = false;" dans la méthode "setImageBitmap" de ma classe zoomableimageviews personnalisé et son fonctionnement bien. Merci @Konrad ... –