将文本放置在图像中特定位置的简单方法?
Posted
技术标签:
【中文标题】将文本放置在图像中特定位置的简单方法?【英文标题】:Straightforward way to place text on a specific location in an image? 【发布时间】:2020-03-26 11:54:55 【问题描述】:Overhead schematic of Docks map in Modern Warfare
Overhead schematic of Docks with one callout name
我正在创建一个应用程序,它将显示电子游戏《现代战争》中每张地图的各个特定区域的名称 - “标注”。我希望能够将文本(或占位符)放置在同一位置,而不管比例、转换等如何。除了在图像编辑器中获取每个位置的 (x,y) 坐标之外,还有其他方法吗,然后在我的布局中使用这些坐标?这种方法看起来非常乏味,因为每张地图有 10 到 20 个标注,大约有 20 张地图!我还想避免以图形方式添加文本,以便在 android Studio 中根据需要进行更改。
如果我将 TextViews 直观地放置在 Android Studio 的 [Design] 选项卡中,它们是否会相对于背景 ImageView 保持在相同的位置,而不管缩放、变换等如何?请提供建议,如有必要,我很乐意澄清。谢谢!
【问题讨论】:
【参考方案1】:我想我已经找到了我正在寻找的解决方案,伙计们:
在 ConstraintLayout 中,有一个 ImageView 来保存地图图形,以及每个标注标签的 TextView。 将每个 TextView 约束到 ImageView 的开始、结束、顶部和底部。 将 TextView 拖到布局编辑器的 [Design] 选项卡中的所需位置。这将自动调整水平和垂直偏差,这本质上是父级宽度和高度的百分比,相对于父级的左侧和顶部。在我的初步测试中,这似乎保留了每个标注标签相对于地图的位置,这是我所希望的。如果有人有什么要补充的,请补充!
【讨论】:
以上是关于将文本放置在图像中特定位置的简单方法?的主要内容,如果未能解决你的问题,请参考以下文章