如何确定ImageView中图像的实际位置?

时间:2011-09-04 14:30:46

标签: android position imageview

我认为它应该是世界上最简单的任务,但结果却比我想象的复杂得多。

我想从ImageView派生自己的View类,扩展其onDraw方法只是为了覆盖ImageView本身显示的底层图像上的更多元素。

问题是:图像将被缩放以保持其比例,因此有时在图像旁边会有边距 - 偏移,我称之为。要在图像上放置我自己的元素,我需要知道这些偏移和在图像上执行的缩放 - 但我无法在任何地方获得线索。

我以为我只需要调用像“getImageLeft()”,“getImageTop()”等ImageView方法 - 但是没有这样的方法!!

我在这里找到了一个解决方案,其中涉及我自己的大量计算,我发现这种方式变得复杂(并且它不起作用......)。

有人能给我一个线索吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

使用填充。它们确定视图内的偏移量。还有一个属性scaleType,它确定如果图像的大小与imageView的大小不匹配,应如何缩放图像。 如果你想知道图像在内部的缩放方式和imageView,我可以说比例保持不变。例如,您有200x50的图像和ImageView 100x100。然后,imageView中图像的大小必须为100x25。缩放后,默认情况下将图像放在ImageView的中心。所以你从顶部和底部有大约12个额外的空间。