如何将视图放在ImageView的顶部,与ImageView的内容大小相关?

and*_*per 14 android imageview

背景

假设我想使用ImageView显示某些内容的图像,我想在其上面放置新视图(例如,在世界地图图像上显示图钉的动画ImageView,或智能手机图像顶部的切换视图) ).

这意味着无论ImageView如何显示图像,视图都应该在其中,在正确的位置内,具有与指定相同的大小,或者与imageView本身相关的大小

问题

与其他视图相反,ImageView可以具有一定的大小,但其内容是其他内容(保持宽高比).

我尝试了什么

我试图使用ConstraintLayout,但这并没有真正帮助,因为ImageView可以改变它的大小(例如在更改方向时),从而破坏了我给出了与ImageView相比的视图的位置.

我发现一些库可以处理类似的事情(比如这里),我甚至在之前问过类似的问题,但是所有这些解决方案都是针对ImageView中的静态图像,但我搜索的是添加一个视图在ImageView之上.

这个问题

如何正确地将视图放在ImageView的内容之上?

与ImageView内容的大小相比,如何向下/向上缩放视图?

可以使用ConstraintLayout根据ImageView的大小更改视图的比例吗?

Gud*_*din 5

FrameLayoutwrap_content周围ImageView.然后你可以设置SwitchView在上面ImageView.您可以将它对齐到中心,侧面或角落,并使用边距来获得一些好的位置.

它仍然无法随图像缩放,但您可以获得相当不错的效果.如果这不适合您,您可以以编程方式获取宽度/高度ImageView并相应地改变位置(或边距)SwitchView.