【发布时间】:2012-11-04 02:21:17
【问题描述】:
我想在 ImagePagerActivity 中将 ImageViewZoom 与 Universal Image Loader 一起使用。
我可以缩放图像,滑动到下一张图像。但是当图像处于缩放位置时,我遇到了问题。
如果图像被缩放并且我处于中心位置,如果我想查看同一图像的右侧部分并向左滑动,它将转到下一个图像。请帮我做这件事。
这是我的 XML 代码:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="1dip" >
<it.sephiroth.android.library.imagezoom.ImageViewTouch
android:layout_weight="1"
android:id="@+id/image"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scaleType="fitCenter" />
<ProgressBar
android:id="@+id/loading"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:visibility="gone" />
</FrameLayout>
编辑:
感谢 NOSTRA,现在我可以使用以下代码控制缩放和滑动。但是多点触控缩放的问题。我无法用两根手指进行缩放。
这是我之前的代码(用两根手指可以正常工作):
public class ScaleListener extends ScaleGestureDetector.SimpleOnScaleGestureListener {
@Override
public boolean onScale( ScaleGestureDetector detector ) {
Log.d( LOG_TAG, "onScale" );
float span = detector.getCurrentSpan() - detector.getPreviousSpan();
float targetScale = mCurrentScaleFactor * detector.getScaleFactor();
if ( mScaleEnabled ) {
targetScale = Math.min( getMaxZoom(), Math.max( targetScale, getMinZoom()-0.1f ) );
zoomTo( targetScale, detector.getFocusX(), detector.getFocusY() );
mCurrentScaleFactor = Math.min( getMaxZoom(), Math.max( targetScale, getMinZoom()-1.0f ) );
mDoubleTapDirection = 1;
invalidate();
return true;
}
return false;
}
}
这是修改后的:
public class ScaleListener extends ScaleGestureDetector.SimpleOnScaleGestureListener {
@Override
public boolean onScaleBegin(ScaleGestureDetector detector) {
externalScaleListener.onScaleBegin();
return super.onScaleBegin(detector);
}
@Override
public void onScaleEnd(ScaleGestureDetector detector) {
externalScaleListener.onScaleEnd(mCurrentScaleFactor);
}
}
【问题讨论】:
-
您好,我也在寻找相同的..您解决了问题吗?当我尝试在 ViewPager Activity 中使用 ImageViewTouch 加载图像时,我无法看到图像。
-
请帮我解决我的问题
-
@Sam_k,下面的代码完美运行...
-
你用通用图像加载器页面活动和 ImageViewTouch 做过这件事吗?我也打算这样做..我是对的吗?
-
是的..我已经在我的应用程序中这样做了..你可以做到..
标签: android android-viewpager zooming universal-image-loader