Unterstützung mehrerer Links in einem einzigen Textstring
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Sie können mehrere Links in einem einzigen Textstring unterstützen, um beim Klicken auf einen Textabschnitt verschiedene Aktionen auszuführen.
Versionskompatibilität
Für diese Implementierung muss das minSDK Ihres Projekts auf API-Level 21 oder höher festgelegt sein.
Abhängigkeiten
Mehrere Links in einem String anzeigen
In diesem Snippet werden mehrere anklickbare Links in einen einzigen Textstring eingebettet:
@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(".")})}
Gibt den Link- und Textstil an, indem sie als Argumente der Funktion LinkAnnotation.Url() übergeben werden, die wiederum als Argument der Funktion withLink() übergeben wird. In LinkAnnotation.Url() ist ein Klick-Listener integriert.
Fügen Sie mit append() Text in den Textkörper der Funktion withLink ein.
Wiederholen Sie diesen Vorgang, um ein weiteres verknüpftes Textsegment hinzuzufügen.
Ergebnisse
Abbildung 1: Ein Screenshot eines Textstrings mit zwei verschiedenen Links.
Sammlungen, die diesen Leitfaden enthalten
Dieser Leitfaden ist Teil der folgenden ausgewählten Sammlungen von Kurzanleitungen, die allgemeinere Ziele der Android-Entwicklung abdecken:
Anzeigetext
Text ist ein zentrales Element jeder Benutzeroberfläche. Hier erfahren Sie, wie Sie Text in Ihrer App präsentieren können, um die Nutzerfreundlichkeit zu verbessern.
Alle Inhalte und Codebeispiele auf dieser Seite unterliegen den Lizenzen wie im Abschnitt Inhaltslizenz beschrieben. Java und OpenJDK sind Marken oder eingetragene Marken von Oracle und/oder seinen Tochtergesellschaften.
Zuletzt aktualisiert: 2025-02-22 (UTC).
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Benötigte Informationen nicht gefunden","missingTheInformationINeed","thumb-down"],["Zu umständlich/zu viele Schritte","tooComplicatedTooManySteps","thumb-down"],["Nicht mehr aktuell","outOfDate","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Problem mit Beispielen/Code","samplesCodeIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 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)"]]