Supporto di più link in una singola stringa di testo
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Puoi supportare più link in una singola stringa di testo per eseguire diverse azioni quando fai clic su una sottosezione di testo.
Compatibilità delle versioni
Questa implementazione richiede che il valore minSDK del progetto sia impostato sul livello API 21 o superiore.
Dipendenze
Visualizzare più link in una singola stringa
Questo snippet incorpora più link cliccabili in una singola stringa di testo:
@ComposablefunAnnotatedStringWithLinkSample(){// Display multiple links in the textText(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(".")})}
Utilizza la funzione buildAnnotatedString per creare una stringa di testo annotata.
Specifica lo stile del link e del testo passandoli come argomenti della funzione
LinkAnnotation.Url() (a sua volta passata come argomento della funzione
withLink()). LinkAnnotation.Url() è integrato un listener dei clic.
Aggiunge il testo utilizzando append() nel corpo della funzione withLink.
Ripeti questa procedura per aggiungere un altro segmento di testo collegato.
Risultati
Figura 1. Uno screenshot di una stringa di testo contenente due link diversi.
Raccolte che contengono questa guida
Questa guida fa parte di queste raccolte di guide rapide selezionate che coprono obiettivi di sviluppo Android più ampi:
Testo visualizzato
Il testo è un elemento centrale di qualsiasi interfaccia utente. Scopri diversi modi
per presentare il testo nella tua app in modo da offrire un'esperienza utente piacevole.
I campioni di contenuti e codice in questa pagina sono soggetti alle licenze descritte nella Licenza per i contenuti. Java e OpenJDK sono marchi o marchi registrati di Oracle e/o delle sue società consociate.
Ultimo aggiornamento 2025-02-22 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-02-22 UTC."],[],[],null,["\u003cbr /\u003e\n\nYou can support multiple links in a single string of text to perform different\nactions when clicking a subsection of text.\n\nVersion compatibility\n\nThis implementation requires that your project minSDK be set to API level 21 or\nhigher.\n\nDependencies\n\nDisplay multiple links in a single string\n\nThis snippet embeds multiple clickable links into a single string of text:\n\n\n```kotlin\n@Composable\nfun AnnotatedStringWithLinkSample() {\n // Display multiple links in the text\n Text(\n buildAnnotatedString {\n append(\"Go to the \")\n withLink(\n LinkAnnotation.Url(\n \"https://developer.android.com/\",\n TextLinkStyles(style = SpanStyle(color = Color.Blue))\n )\n ) {\n append(\"Android Developers \")\n }\n append(\"website, and check out the\")\n withLink(\n LinkAnnotation.Url(\n \"https://developer.android.com/jetpack/compose\",\n TextLinkStyles(style = SpanStyle(color = Color.Green))\n )\n ) {\n append(\"Compose guidance\")\n }\n append(\".\")\n }\n )\n}https://github.com/android/snippets/blob/7a0ebbee11495f628cf9d574f6b6069c2867232a/compose/snippets/src/main/java/com/example/compose/snippets/text/TextSnippets.kt#L564-L590\n```\n\n\u003cbr /\u003e\n\nKey points about the code\n\n- Uses the [`buildAnnotatedString`](/reference/kotlin/androidx/compose/ui/text/package-summary#buildAnnotatedString(kotlin.Function1)) function to create an annotated string of text.\n- Specifies the the link and text styling by passing them as arguments of the [`LinkAnnotation.Url()`](/reference/kotlin/androidx/compose/ui/text/LinkAnnotation.Url) function (itself passed as an argument of the [`withLink()`](/reference/kotlin/androidx/compose/ui/text/AnnotatedString.Builder#(androidx.compose.ui.text.AnnotatedString.Builder).withLink(androidx.compose.ui.text.LinkAnnotation,kotlin.Function1)) function). A click listener is built into `LinkAnnotation.Url()`.\n- Adds text using [`append()`](/reference/kotlin/androidx/compose/ui/text/AnnotatedString.Builder#append(kotlin.CharSequence,kotlin.Int,kotlin.Int)) in the body of the `withLink` function.\n- Repeats this process to add another linked text segment.\n\nResults **Figure 1.** A screenshot of one text string containing two different links.\n\nCollections that contain this guide\n\nThis guide is part of these curated Quick Guide collections that cover\nbroader Android development goals: \n\nDisplay text \nText is a central piece of any UI. Find out different ways you can present text in your app to provide a delightful user experience. \n[Quick guide collection](/develop/ui/compose/quick-guides/collections/display-text) \n\nHave questions or feedback \nGo to our frequently asked questions page and learn about quick guides or reach out and let us know your thoughts. \n[Go to FAQ](/quick-guides/faq) [Leave feedback](https://issuetracker.google.com/issues/new?component=1573691&template=1993320)"]]