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

我也試過使用畢加索,然後連接它與PhotoView庫,但它沒有做任何事情,當我試圖捏縮放它並沒有放大一切,這裏是該代碼的一部分:我用glide庫來加載圖像到imageView,我不知道如何使圖像捏縮放

ImageView imageView; 
PhotoViewAttacher photoView; 

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

回答

3

你可以例如使用這個庫。 https://github.com/MikeOrtiz/TouchImageView

載入圖片到這個小部件,而不是ImageView的

使用範例:

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

注意,我還第一次使用SimpleTarget,它是使用滑翔和捏縮放好的做法對大圖像的影響。

而且佈局將是這樣的:

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

此外,有時也用此設置後,加載圖像的問題。 對我來說,就像這樣。 我覆蓋從TouchImageView類中的方法:

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

我添加 「imageRenderedAtLeastOnce = FALSE;」到我的自定義zoomableimageviews類的「setImageBitmap」方法和它的工作正常。謝謝@Konrad ...... –