Поддержка нескольких ссылок в одной текстовой строке.

В одном текстовом фрагменте можно разместить несколько ссылок, которые будут выполнять разные действия при нажатии на соответствующий фрагмент текста.

Результаты

Одна текстовая строка, содержащая две разные ссылки.
Рисунок 1. Скриншот текстовой строки, содержащей две разные ссылки.

Совместимость версий

Для данной реализации требуется, чтобы в вашем проекте был установлен уровень API 21 или выше.

Зависимости

Этот фрагмент кода встраивает несколько кликабельных ссылок в одну текстовую строку:

Основные моменты, касающиеся кода.

  • Использует функцию buildAnnotatedString для создания аннотированной текстовой строки.
  • Задает стиль ссылки и текста, передавая их в качестве аргументов функции LinkAnnotation.Url() (которая, в свою очередь, передается в качестве аргумента функции withLink() ). В функцию LinkAnnotation.Url() встроен обработчик кликов.
  • Добавляет текст с помощью функции append() в тело функции withLink .
  • Повторяет этот процесс для добавления еще одного связанного текстового сегмента.

Коллекции, содержащие это руководство

Данное руководство является частью подборки кратких руководств, охватывающих более широкие цели разработки под Android:

Текст — центральный элемент любого пользовательского интерфейса. Узнайте о различных способах представления текста в вашем приложении, чтобы обеспечить приятный пользовательский опыт.

Есть вопросы или отзывы?

Перейдите на страницу часто задаваемых вопросов и ознакомьтесь с краткими руководствами или свяжитесь с нами и поделитесь своими мыслями.