2017-04-26 3 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); 
} 

Ich habe versucht, Picasso auch und dann verbinden es mit PhotoView-Bibliothek, aber es hat nichts getan, wenn ich versuchte Prise, um es zu zoomen Zoomen gar nicht, hier ist ein Teil des Codes:Ich habe Glide-Bibliothek verwendet, um Bild in imageView zu laden und ich weiß nicht, wie man Pinch zu zoomen

ImageView imageView; 
PhotoViewAttacher photoView; 

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

Antwort

3

Sie können zum Beispiel diese Bibliothek verwenden. https://github.com/MikeOrtiz/TouchImageView

Laden Sie Ihr Bild in diesem Widget statt Image

Verwendungsbeispiel:

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); 

Hinweis, dass ich SimpleTarget auch zuerst verwenden, ist es gute Praxis für die Verwendung von Glide und Prise zu vergrößern Effekt für große Bilder.

Und das Layout wird so etwas wie diese:

<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> 

Auch, manchmal gibt es ein Problem mit dem Bild nach diesem Setup geladen. Für mich funktioniert so etwas. ich die Methode von TouchImageView Klasse außer Kraft setzen:

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

Ich fügte hinzu, "imageRenderedAtLeastOnce = false;" in "setImageBitmap" -Methode meiner benutzerdefinierten zoomablevieviews Klasse und es funktioniert gut. Danke @Konrad ... –

Verwandte Themen