0

我在包含 TouchImageView 的 ScrollView 中有查看寻呼机,我想缩放和滚动图像。当我触摸 ImageView 时它没有滚动。我的代码如下所示,请帮助我!

<com.ui.widget.TouchImageView
 android:id="@+id/img_item"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:scaleType="centerCrop"
 android:src="@drawable/img_girl1"/>
4

2 回答 2

1

使用这个 CustomScrollview 并将 TouchyImageview 放在里面

  public class CustomView extends ScrollView { 

   @Override
   public boolean dispatchTouchEvent(MotionEvent ev){
    super.dispatchTouchEvent(ev);    
    return mScaleDetector.onTouchEvent(ev); 
    }

    private class ScaleListener extends
    ScaleGestureDetector.SimpleOnScaleGestureListener {

        @Override
        public boolean onScale(ScaleGestureDetector detector) {
            // Handle the scale..
            return true;
        }
   }
}

试试这个 Scollview 而不是 Widget Scrollview 在这里我删除了 scrollview 的覆盖 onInterceptTouchEvent 和 onTouchEvent 方法

于 2017-02-18T07:35:51.020 回答
0

你的要求很微妙。由于 TouchImageView 是一个自定义的 widget,它可能没有处理 NestedScrollView。将 PhotoViewAttacher 用于您的 ImageView 并查看这是否有效。

将此添加到应用程序 gradle 中的依赖项:

 dependencies {
  compile 'com.commit451:PhotoView:1.2.4'
}

在 Java 类中:

PhotoViewAttacher pAttacher;
pAttacher = new PhotoViewAttacher(Your_Image_View);
pAttacher.update();

然后将您的 ImageView 附加到 NestedScrollView 中:

<android.support.v4.widget.NestedScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent">

           //Add ImageView Here

     </android.support.v4.widget.NestedScrollView>
于 2017-02-18T07:09:32.117 回答