LinkAnnotation

Known direct subclasses
LinkAnnotation.Clickable

An annotation that contains a clickable marked with tag.

LinkAnnotation.Url

An annotation that contains a url string.


An annotation that represents a clickable part of the text.

import androidx.compose.foundation.text.BasicText import androidx.compose.ui.graphics.Color import androidx.compose.ui.text.AnnotatedString import androidx.compose.ui.text.LinkAnnotation import androidx.compose.ui.text.SpanStyle import androidx.compose.ui.text.TextLinkStyles import androidx.compose.ui.text.buildAnnotatedString import androidx.compose.ui.text.withLink import androidx.compose.ui.unit.sp // Display a link in the text BasicText(  buildAnnotatedString {  append("Build better apps faster with ")  withLink(  LinkAnnotation.Url(  "https://developer.android.com/jetpack/compose",  TextLinkStyles(style = SpanStyle(color = Color.Blue)),  )  ) {  append("Jetpack Compose")  }  } )

Summary

Nested types

An annotation that contains a clickable marked with tag.

An annotation that contains a url string.

Public properties

abstract LinkInteractionListener?

Interaction listener triggered when user interacts with this link.

Cmn
abstract TextLinkStyles?

Style configuration for this link in different states.

Cmn

Public properties

linkInteractionListener

abstract val linkInteractionListenerLinkInteractionListener?

Interaction listener triggered when user interacts with this link.

import androidx.compose.foundation.text.BasicText import androidx.compose.ui.graphics.Color import androidx.compose.ui.platform.LocalUriHandler import androidx.compose.ui.text.AnnotatedString import androidx.compose.ui.text.LinkAnnotation import androidx.compose.ui.text.SpanStyle import androidx.compose.ui.text.TextLinkStyles import androidx.compose.ui.text.buildAnnotatedString import androidx.compose.ui.text.withLink import androidx.compose.ui.unit.sp // Display a link in the text and log metrics whenever user clicks on it. In that case we handle // the link using openUri method of the LocalUriHandler val uriHandler = LocalUriHandler.current BasicText(  buildAnnotatedString {  append("Build better apps faster with ")  val link =  LinkAnnotation.Url(  "https://developer.android.com/jetpack/compose",  TextLinkStyles(SpanStyle(color = Color.Blue)),  ) {  val url = (it as LinkAnnotation.Url).url  // log some metrics  uriHandler.openUri(url)  }  withLink(link) { append("Jetpack Compose") }  } )

styles

abstract val stylesTextLinkStyles?

Style configuration for this link in different states.

import androidx.compose.foundation.text.BasicText import androidx.compose.ui.graphics.Color import androidx.compose.ui.text.AnnotatedString import androidx.compose.ui.text.LinkAnnotation import androidx.compose.ui.text.SpanStyle import androidx.compose.ui.text.TextLinkStyles import androidx.compose.ui.text.buildAnnotatedString import androidx.compose.ui.text.style.TextDecoration import androidx.compose.ui.text.withLink import androidx.compose.ui.unit.sp // Display a link in the text that gets an underline when hovered BasicText(  buildAnnotatedString {  append("Build better apps faster with ")  val link =  LinkAnnotation.Url(  "https://developer.android.com/jetpack/compose",  TextLinkStyles(  style = SpanStyle(color = Color.Blue),  hoveredStyle = SpanStyle(textDecoration = TextDecoration.Underline),  ),  )  withLink(link) { append("Jetpack Compose") }  } )