我的ImageView包含Bitmap图片。图像是其容器的两倍大。我已宣布onScroll()
能够移动Bitmap图像。如何在ImageView图片上获取Bitmap的坐标?
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);
答案 0 :(得分:0)
我还没有找到实际的方法来做到这一点。这是我用过的方法:
创建ImageView后,滚动到已知位置。
int ivX = 0;
int ivY = 0;
_iv.invalidate();
_iv.scrollTo(ivX, ivY);
这样我就可以得到确切的(x,y)坐标。然后,我实现了onScroll()方法并使用生成的距离重新计算我的(x,y)坐标:
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
//Add the scroll distance to the old X, Y coordinates
ivX += distanceX;
ivY += distanceY;
//Scroll to the new location
_iv.scrollTo(ivX, ivY);
return false;
} //End onScroll()
此外,为了更好地了解scrollTo()
的工作原理以及图片坐标与其容器之间的关系,请按照此link查看我的不同帖子。