Android 放大后如何拖动图像??
我遵循了一个关于如何缩放图像的简单教程。问题是我无法在缩放图像后拖动和缩放它。我确实读过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
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,如何获得相同的结果?我试了一次又一次,但还是没有得到我想要的结果。你能再帮我一次吗?