2017-10-03 21 views
1

라이브러리를 사용하고 있습니다. here입니다. 오류는 발생하지 않지만 이미지를 확대/축소 할 수는 없습니다. 이미지 확대를 시도 할 때 아무런 변화가 없습니다. build.gradle에서도 오류가 발생하지 않습니다. 어떻게 수정해야합니까?사진보기 라이브러리로 이미지를 확대/축소 할 수 없습니다.

FullImageActivity.java :

public class FullImageActivity extends AppCompatActivity { 
    int position; 
    int folderPosition; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_full_image); 
     Intent i = getIntent(); 
     PhotoView photoView = (PhotoView) findViewById(R.id.photo_view); 


     // Selected image id 
     position = i.getExtras().getInt("id"); 
     folderPosition = i.getExtras().getInt("folderPosition"); 
     Bundle extras = getIntent().getExtras(); 
     String value = extras.getString("abc"); 

     Glide.with(FullImageActivity.this) 
       .load(value) 
       .skipMemoryCache(false) 
       .into(photoView); 

     ViewPager mViewPager = (ViewPager) findViewById(R.id.viewpager); 
     mViewPager.setAdapter(new TouchImageAdapter(this,al_images, folderPosition)); 
     mViewPager.setCurrentItem(position); 
    } 
} 

activity_full_image.xml :

<?xml version="1.0" encoding="utf-8"?> 

    <LinearLayout 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/jazzy_pager" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 


    <android.support.v4.view.ViewPager 
     android:id="@+id/viewpager" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 

    <com.github.chrisbanes.photoview.PhotoView 
     android:id="@+id/photo_view" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_gravity="center" 
     android:scaleType="centerCrop"/> 


</LinearLayout> 

build.gradle :

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 25 
    buildToolsVersion '25.0.3' 
    defaultConfig { 
     applicationId "com.example.dell_1.Myapp3" 
     minSdkVersion 14 
     targetSdkVersion 25 
     versionCode 1 
     versionName "1.0" 
     testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
    } 
    sourceCompatibility = '1.7' 
    targetCompatibility = '1.7' 

    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
    productFlavors { 
    } 
} 


dependencies { 
    compile fileTree(include: ['*.jar'], dir: 'libs') 
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { 
     exclude group: 'com.android.support', module: 'support-annotations' 
    }) 
    compile 'com.android.support:appcompat-v7:25.3.1' 
    compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha7' 
    compile 'com.android.support:support-annotations:25.3.1' 
    compile 'com.ss.bannerslider:bannerslider:1.8.0' 
    compile 'com.github.chrisbanes:PhotoView:2.0.0' 
    compile 'com.github.barteksc:android-pdf-viewer:2.7.0-beta.1' 
    compile 'com.github.bumptech.glide:glide:3.8.0' 
    compile 'com.android.support:design:25.3.1' 
    compile 'com.android.support:support-v4' 
    compile 'com.squareup.picasso:picasso:2.3.2' 
    compile 'com.nineoldandroids:library:2.4.0' 
    compile 'com.daimajia.slider:library:[email protected]' 
    testCompile 'junit:junit:4.12' 
    compile 'org.jetbrains:annotations-java5:15.0' 
} 

답변

0

이 코드를 사용해보십시오 :

Glide.with(FullImageActivity.this) 
        .load(value) 
        .asBitmap() 
        .diskCacheStrategy(DiskCacheStrategy.SOURCE) 
        .into(new SimpleTarget<Bitmap>() { 
         @Override 
         public void onResourceReady(Bitmap resource, GlideAnimation<? super Bitmap> glideAnimation) { 
          photoView.setImageBitmap(resource); 
         } 
        }); 
+0

도움이 될 것입니다 나는 아직도, 아직도, 글라이드 대신에 피카소의 사용을 확대 할 수없는 시도 – Amelia

0

Picasso 라이브러리를 사용해보십시오. this 기사

피카소에 따르면

Picasso.with(context) 
    .load(url) 
    .placeholder(R.drawable.user_placeholder) 
    .error(R.drawable.user_placeholder_error) 
    .into(imageView); 

이미지를 다운로드하고 전체 크기 이미지를 저장 (내 경우 에서 이미지 해상도 * 750 1160했다) 캐시에 우리는 대한 을 요청 할 때마다 동일한 이미지가 있으면 풀 사이즈 이미지를 반환하고 ImageView에 맞게 의 크기를 실시간으로 조정합니다.

반면에 글라이드는 다르게 작동합니다. 글라이드는 지정된 URL에서 이미지를 다운로드하고 이미지보기의 크기로 크기를 조정하고 디스크 캐시에 을 저장합니다.

확대/축소 글라이드가 이미지의 크기를 조정할 때 문제가 있습니다. 피카소를 사용하면 문제를 해결할 수 있습니다.

+0

을 이미지를 확대 할 수없는 위의 Clode (으) 시도 이미지 – Amelia

0

하는이 방법을 시도, 그것은 당신에게

public class ImageView_Main extends Activity { 
private ImageViewTouch ivLargeImage; 
private Bitmap myBitmap; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.image_view); 
ivLargeImage = (ImageViewTouch) findViewById(R.id.ivLargeImageView); 

// if image size is too large.Then scale image. 
BitmapFactory.Options options = new BitmapFactory.Options(); 
options.inJustDecodeBounds = true; 

       // provide image path for create Bitmap from image. 
       // myBitmap = BitmapFactory.decodeFile(//provide here image file path//); 
//Or 
myBitmap = BitmapFactory.decodeResource(//provider here resource //); 

if (options.outWidth > 3000 || options.outHeight > 2000) { 
options.inSampleSize = 4; 
} else if (options.outWidth > 2000 || options.outHeight > 1500) { 
options.inSampleSize = 3; 
} else if (options.outWidth > 1000 || options.outHeight > 1000) { 
options.inSampleSize = 2; 
} 
options.inJustDecodeBounds = false; 

myBitmap = BitmapFactory.decodeResource//provider here resource //); 
ivLargeImage.setImageBitmapReset(myBitmap, 0, true); 
    } 
} 

http://www.theappguruz.com/blog/android-pinch-zoom

+0

이미지 뷰 터치는 어디에 정의되어 있습니까? libs 폴더에 jar 파일을 추가 한 후에도 오류가 나타납니다. – Amelia

+0

시도해보십시오. http://www.androidhub4you.com/2013/05/zoom-image-demo-in-android-zoom-image.html –