【问题标题】:Scroll Horizontally and Vertically ImageView in TouchImageView in Android?在Android的TouchImageView中水平和垂直滚动ImageView?
【发布时间】:2014-02-01 15:58:51
【问题描述】:

这是ZOOM IN AND ZOOM out TouchImageView。这是可用的代码ZOOM IN AND ZOOM OUT CUSTOM FUNCTION IN IMAGEVIEW 用于放大和缩小它成功地放大和缩小按钮单击时的图像但我在缩放后无法滚动。我已经看到了 scrollView 部分这里MeahdiIjaz Answer。有人可以在这个TouchImageView中调整水平和垂直滚动的部分吗?

有人可以在这里帮助我吗TouchImage View

当我尝试使用我的数字缩放时,遵循“MikeOrtiz” 答案后出现 logcat 错误,我的应用程序崩溃的用户可以触摸图像,我该如何避免这个问题?我只想通过 zoomin 和 zoomout 按钮进行缩放,但如果其他人触摸图像,那么它应该忽略该操作而不是崩溃应用程序

02-03 21:09:00.880:E/AndroidRuntime(14290):致命异常:主要 02-03 21:09:00.880: E/AndroidRuntime(14290): java.lang.UnsupportedOperationException: 比例必须大于 minScale 且小于 maxScale 02-03 21:09:00.880: E/AndroidRuntime(14290): at com.example.imagetouchview.TouchImageView1.setZoom(TouchImageView1.java:369) 02-03 21:09:00.880: E/AndroidRuntime(14290): at com.example.imagetouchview.TouchImageView1.setZoom(TouchImageView1.java:354) 02-03 21:09:00.880: E/AndroidRuntime(14290): at com.example.imagetouchview.MainActivity$1.onClick(MainActivity.java:49) 02-03 21:09:00.880: E/AndroidRuntime(14290): 在 android.view.View.performClick(View.java:4211) 02-03 21:09:00.880: E/AndroidRuntime(14290): 在 android.view.View$PerformClick.run(View.java:17267) 02-03 21:09:00.880: E/AndroidRuntime(14290): 在 android.os.Handler.handleCallback(Handler.java:615) 02-03 21:09:00.880: E/AndroidRuntime(14290): 在 android.os.Handler.dispatchMessage(Handler.java:92) 02-03 21:09:00.880: E/AndroidRuntime(14290): 在 android.os.Looper.loop(Looper.java:137) 02-03 21:09:00.880: E/AndroidRuntime(14290): 在 android.app.ActivityThread.main(ActivityThread.java:4898) 02-03 21:09:00.880: E/AndroidRuntime(14290): 在 java.lang.reflect.Method.invokeNative(Native Method) 02-03 21:09:00.880: E/AndroidRuntime(14290): 在 java.lang.reflect.Method.invoke(Method.java:511) 02-03 21:09:00.880: E/AndroidRuntime(14290): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1006) 02-03 21:09:00.880: E/AndroidRuntime(14290): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:773) 02-03 21:09:00.880: E/AndroidRuntime(14290): at dalvik.system.NativeStart.main(Native Method)

【问题讨论】:

标签: java android scrollbar touchimageview


【解决方案1】:

首先,查看dev branch 中的代码。接下来,查看 TouchImageView 中名为 setZoom() 的方法。您可以将此方法连接到缩放按钮,如下所示:

zoomIn.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
            float scale = image.getCurrentZoom();
            PointF centerPoint = image.getCenterOfZoomedImage();
            image.setZoom(scale * 1.25, centerPoint.x, centerPoint.y);
        }
});

【讨论】:

  • 是 TouchImageView 的 Image 实例吗?我收到错误 PointF centerPoint = touch.getCenterOfZoomedImage(); touch.setZoom(scale * 1.25,centerPoint.x,centerPoint.y);这些方法在 TouchImageView 中没有定义,即使我使用了最近的 TouchimageView.java 来自
  • 每次我收到此错误并且我的应用程序在我尝试触摸图像并尝试用手指放大时崩溃,应用程序崩溃了什么;这是 logcat 错误的原因:
  • 在Edit中添加了logcat请看
  • 是的,image 是 TouchImageView 的一个实例。这些方法在 TouchImageView 中,请确保您在 dev 分支中拥有最新的代码,而不是 master 分支。上面的 logcat 错误表示您将缩放设置为大于 maxZoom。您需要确保不要这样做:image.setZoom(Math.min(image.getMaxZoom(), scale * 1.25), centerPoint.x, centerPoint.y);
  • wao .....它工作正常我已经在zoomIn按钮中添加了这个代码我可能需要在zoomOut按钮中添加这个如果是的话那么如何?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-10-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-09
相关资源
最近更新 更多