我有一个需要缩放和平移的图库应用程序。我没有使用默认的imageview,而是在互联网上找到了一个示例touchmageview并将其复制。我使用TouchImageView调用了我的图像,现在我可以缩放和平移我从可绘制文件夹中调用的图像。然后我在我的项目中添加了库。现在的问题是我无法将图像放到屏幕上。当我使用scaletype.center然后它适合图像到屏幕但现在缩放和平移功能不起作用。这是我的gallerylistener;
gallery.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
Toast.makeText(Display.this, "Your selected position = " + position, Toast.LENGTH_SHORT).show();
// show the selected Image
img.setScaleType(ScaleType.CENTER_INSIDE);
img.setImageResource(Imgid[position]);
}
});
如您所见,如果我添加img.setScaleType(ScaleType.CENTER_INSIDE);然后TouchImageView类不起作用,我无法缩放,捏和平移等。它只显示图像。当我删除此代码,然后我可以缩放,但是当我将图片更改为另一个时,新的图片具有上一个图像的大小。但我想让他们适应中心。有没有办法在调用新图像之前重置scaletype?
顺便说一句,我在xml中只有一个imageview。
此链接上存在类似的问题,但解决方案对我不起作用。 how to get setScaleType(ImageView.ScaleType.FIT_CENTER) effect using setScaleType(ImageView.ScaleType.MATRIX)