Вы можете поддерживать несколько ссылок в одной текстовой строке для выполнения различных действий при щелчке по фрагменту текста.
Совместимость версий
Для этой реализации требуется, чтобы в minSDK вашего проекта был установлен уровень API 21 или выше.
Зависимости
Отображение нескольких ссылок в одной строке
Этот фрагмент встраивает несколько кликабельных ссылок в одну текстовую строку:
@Composable fun AnnotatedStringWithLinkSample() { // Display multiple links in the text Text( buildAnnotatedString { append("Go to the ") withLink( LinkAnnotation.Url( "https://developer.android.com/", TextLinkStyles(style = SpanStyle(color = Color.Blue)) ) ) { append("Android Developers ") } append("website, and check out the") withLink( LinkAnnotation.Url( "https://developer.android.com/jetpack/compose", TextLinkStyles(style = SpanStyle(color = Color.Green)) ) ) { append("Compose guidance") } append(".") } ) }
Ключевые моменты о коде
- Использует функцию
buildAnnotatedString
для создания аннотированной текстовой строки. - Определяет стиль ссылки и текста, передавая их в качестве аргументов функции
LinkAnnotation.Url()
(которая сама передается как аргумент функцииwithLink()
). Прослушиватель кликов встроен вLinkAnnotation.Url()
. - Добавляет текст с помощью
append()
в тело функцииwithLink
. - Повторяет этот процесс, чтобы добавить еще один связанный текстовый сегмент.
Результаты
![Одна текстовая строка, содержащая две разные ссылки.](https://developer.android.google.cn/static/quick-guides/content/multiple-links.png?hl=ru)
Коллекции, содержащие это руководство
Это руководство является частью тщательно подобранной коллекции быстрых руководств, охватывающих более широкие цели разработки Android:
![](https://developer.android.google.cn/static/images/quick-guides/collection-illustration.png?hl=ru)
Отображать текст
Текст — это центральная часть любого пользовательского интерфейса. Узнайте, как можно представить текст в своем приложении, чтобы обеспечить приятный пользовательский опыт.
Есть вопросы или отзывы
Перейдите на нашу страницу часто задаваемых вопросов и узнайте о кратких руководствах или свяжитесь с нами и сообщите нам свои мысли.