Простой способ разместить текст в определенном месте изображения? - PullRequest
0 голосов
/ 01 декабря 2019

Служебная схема карты Docks в Modern Warfare

Служебная схема Docks с одним именем выноски

Я создаю приложение, котороебудет отображать имена - «выноски» - для различных конкретных областей каждой карты в видеоигре Modern Warfare. Я хочу иметь возможность размещать текст (или заполнитель) в одном и том же месте, независимо от масштаба, преобразований и т. Д. Есть ли способ сделать это, кроме получения координат (x, y) каждого местоположения в редакторе изображений, а затем использовать эти координаты в моем макете? Этот метод кажется чрезвычайно утомительным, потому что на каждую карту приходится 10-20 выносок и примерно 20 карт! Я также хочу не добавлять текст в графическом виде, чтобы при необходимости его можно было изменить в Android Studio.

Если визуально поместить TextViews на вкладку [Дизайн] в Android Studio, они останутся в том же положении относительнов фоновом режиме ImageView, независимо от масштабирования, преобразования и т. д.? Пожалуйста, сообщите, и я буду рад уточнить, если это необходимо. Спасибо!

1 Ответ

0 голосов
/ 01 декабря 2019

Мне кажется, я нашел решение, которое ищу, ребята:

  • В ConstraintLayout есть ImageView для хранения графического изображения карты и TextViews для каждой метки выноски.
  • Удерживайте каждый TextView в начале, конце, верху и низу ImageView.
  • Перетащите TextView в нужное место на вкладке [Design] редактора макета. Это автоматически отрегулирует горизонтальное и вертикальное смещение, которое, по сути, представляет собой процент ширины и высоты родителя по отношению к левому и верхнему краю родителя.

В моем предварительном тестировании это, похоже, сохраняетрасположение каждой метки выноски относительно карты, на что я и надеялся. Если кому-то есть что добавить, сделайте это!

...