Android:将视图放置在任意位置

我一直试图将视图放置在任意位置.

我的目标是:在给定与JPG / PNG相关的坐标的情况下,以其他视图(例如图库或视频)覆盖JPG / PNG的某个矩形.

我不想使用AbsoluteLayout,因为它已被描述.

因此,我使用RelativeLayout,将虚拟文本框定义为占位符,并将视图RIGHT_TO放在文本框的下方.

+--------+
|TextView|
|        | (x,y)
+--------+-----------------------+
         |                       |
         |     My View           |
         |                       |
         +-----------------------+

我的问题是:是否有更健壮和优雅的方法来做到这一点?

上面建议的方法的问题在于它非常脆弱:需要为每个新屏幕重新计算坐标.我的视图覆盖在下面.它需要准确放置,这很难做到.

>每当旋转或缩放时,我都需要重新布局屏幕.更差:

>在初始化时间上,放置图像的典型时间,屏幕坐标无效.将实体放置在屏幕上之后,坐标才有效.为了将实体准确地放置在屏幕上,我们需要坐标.鸡鸡蛋问题:(
>旋转时,坐标包括边距而不是视图本身的宽度(例如:在人像AVD上,显示人像ImageView,然后按CTRL F12进行旋转.ImageView的左,右,顶部和底部完全是不符合预期).
>缩放动画时,将缩放坐标.

因此,我想找到一种更好的方法.

Thanks
    M.

解决方法:

尚未完全了解自己在做什么,似乎您正在使用RelativeLayout为自己做额外的工作.您尝试在屏幕上放置的内容与任何内容都不相关,它基于图像中的特定坐标,因此,即使您使用其他布局之一,您实际上仍会在绝对坐标中放置某些内容.

至于AbsoluteLayout被弃用,据我所读,只是因为它与可变屏幕尺寸有关的缺点,所以不鼓励使用它.他们无意实际删除它,即使这样做,您也可以获取源代码并将其编译到您的项目中.

上一篇:java-通过2D坐标流/ IntRange?


下一篇:javascript-有没有一种方法可以在jquery中使用图像地图坐标?