I have an ImageView containing a Bitmap image. The image is twice as big as its container. I have declared onScroll()
to be able to move around the Bitmap image. How can I get the coordinates of the ImageView on the Bitmap image?
Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.image);
_iv.setImageBitmap(bm);
_iv.setAdjustViewBounds(true);
_iv.setMaxHeight(bm.getHeight());
_iv.setMaxWidth(bm.getWidth());
_iv.setScaleType(ImageView.ScaleType.CENTER);
Bitmap newBm = Bitmap.createScaledBitmap(bm, bm.getWidth() * 2, bm.getHeight() * 2, true);
_iv.setImageBitmap(newBm);
I haven't found an actual way to do this. Here's the method I've used:
Upon creating the ImageView, scroll to a known location.
This way I have the exact (x, y) coordinates of where I am. Then, I've implemented the onScroll() method and used the generated distances to recalculate my (x, y) coordinates:
In addition, to get a better understanding of how
scrollTo()
works and the relationship between the coordinates of the image and its container, follow this link to a different post of mine.