Android 放大后如何拖动图像??

Android 放大后如何拖动图像??,android,android-studio,android-imageview,motionevent,Android,Android Studio,Android Imageview,Motionevent,我遵循了一个关于如何缩放图像的简单教程。问题是我无法在缩放图像后拖动和缩放它。我确实读过android拖动和缩放,并尝试过其他答案,但都不起作用。下面是放大图像的代码。有人能带我到这里吗 public class MainActivity extends AppCompatActivity{ ImageView imageView; Matrix matrix=new Matrix(); Float scale=1f; ScaleGestureDetector

我遵循了一个关于如何缩放图像的简单教程。问题是我无法在缩放图像后拖动和缩放它。我确实读过android拖动和缩放,并尝试过其他答案,但都不起作用。下面是放大图像的代码。有人能带我到这里吗

public class MainActivity extends AppCompatActivity{

    ImageView imageView;
    Matrix matrix=new Matrix();
    Float scale=1f;
    ScaleGestureDetector SGD;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);


        imageView=(ImageView)findViewById(R.id.imageView);
        SGD= new ScaleGestureDetector(this,new ScaleListener());

    }

    private class ScaleListener extends ScaleGestureDetector.SimpleOnScaleGestureListener{
        @Override
        public boolean onScale(ScaleGestureDetector detector) {
           scale= scale*detector.getScaleFactor();
            scale= Math.max(0.1f,Math.min(scale,3f));
            matrix.setScale(scale, scale);
            imageView.setImageMatrix(matrix);
            return true;
        }
    }

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        SGD.onTouchEvent(event);
                return true;
    }

太好了!非常感谢。这让我有点困惑。你能为我总结一下这个过程吗?它所做的只是一个
矩阵
变换:所有(拖动、缩放和旋转)都是在
矩阵
变换中完成的,不管怎样,它都能工作。再次感谢你,亲爱的@pskink您给我的这个解决方案对于从drawable中获取的图像非常有效,如果我从URL设置imageView,如何获得相同的结果?我试了一次又一次,但还是没有得到我想要的结果。你能再帮我一次吗?