@khaliulin

Как сохранить точную позицию аккорда над словом в Textview?

Контекст:
мобильное приложение с песнями и аккордами для пения под гитару.

Задача:
Необходимо, чтобы в тексте песни сверху над словами были указаны аккорды. Аккорды должны быть выделены жирным. При этом аккорды должны располагаться над теми частями текста, где необходим переход именно на этот аккорд - такая задача реализована путём расставления пробелов между аккордами над текстом самой песни.
В качестве исходных данных нам даны тексты песен (txt), где с помощью пробелов сдвинуты аккорды на нужные места.

Пример:
4046356b7ad44d34b42e23f5864fe716

Как бы вы решили эту задачу?

UPD1: Пробовал забирать весь текст из файла в строку, добавлять теги переноса строк, заменять пробелы на   и с помощью Html.fromHtml(data) переводить всё в HTML, но отчего-то аккорды всё равно немного съезжают (выделил там, где съехало).
data = data.replaceAll("(\\r|\\n)", "<br>");
data = data.replace(" ", "&nbsp;&nbsp;");
tv.setText(Html.fromHtml(data));

340b0b0e53a845e297838af1696f5495
  • Вопрос задан
  • 712 просмотров
Пригласить эксперта
Ответы на вопрос 2
petermzg
@petermzg
Самый лучший программист
Я бы написал custom view.
В этом случае я буду точно знать все позиции.
Ответ написан
@Dum_spiro_spero
Вот вам не очень свежая мысль.
Аккорды меняются на слоге. Сделайте подсветку или подчеркивание нужного слога - будет ясно, что там уже должны быть новый аккорд.
Успехов!
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы