Nutzerinteraktionen aktivieren

Jetpack Compose ermöglicht detaillierte Interaktivität in Text. Die Textauswahl ist jetzt flexibler und kann über mehrere zusammensetzbare Layouts hinweg erfolgen. Nutzerinteraktionen sich von anderen zusammensetzbaren Layouts unterscheiden, da Sie keinen Modifizierer Teil einer zusammensetzbaren Text-Funktion. Auf dieser Seite werden die APIs hervorgehoben, die Nutzerinteraktionen ermöglichen.

Text auswählen

Standardmäßig sind Composeables nicht auswählbar. Das bedeutet, dass Nutzer keinen Text aus Ihrer App auswählen und kopieren können. Wenn Sie die Textauswahl aktivieren möchten, schließen Sie Ihre Textelemente in ein SelectionContainer-Composeable ein:

@Composable
fun SelectableText() {
    SelectionContainer {
        Text("This text is selectable")
    }
}

Eine kurze Textpassage, die vom Nutzer ausgewählt wird.

Sie können die Auswahl für bestimmte Bereiche eines auswählbaren Bereichs deaktivieren. Aufgabe Sie müssen also den nicht auswählbaren Teil mit einem DisableSelection- zusammensetzbar:

@Composable
fun PartiallySelectableText() {
    SelectionContainer {
        Column {
            Text("This text is selectable")
            Text("This one too")
            Text("This one as well")
            DisableSelection {
                Text("But not this one")
                Text("Neither this one")
            }
            Text("But again, you can select this one")
            Text("And this one too")
        }
    }
}

Eine längere Textpassage. Der Nutzer hat versucht, den gesamten Textausschnitt auszuwählen, aber da für zwei Zeilen „DisableSelection“ festgelegt war, wurden sie nicht ausgewählt.

Mit LinkAnnotation anklickbare Textabschnitte erstellen

Wenn Sie auf Klicks auf Text reagieren möchten, können Sie den Modifikator clickable hinzufügen. Möglicherweise möchten Sie jedoch einem bestimmten Teil des Text-Werts zusätzliche Informationen hinzufügen, z. B. eine URL, die mit einem bestimmten Wort verknüpft ist und in einem Browser geöffnet werden soll. In solchen Fällen müssen Sie LinkAnnotation verwenden. Dies ist eine Anmerkung, die einen anklickbaren Teil des Textes darstellt.

Mit LinkAnnotation können Sie einem Teil eines Text-Elements eine URL zuweisen, die automatisch geöffnet wird, wenn darauf geklickt wird, wie im folgenden Snippet gezeigt:

Sie können auch eine benutzerdefinierte Aktion konfigurieren, die als Reaktion auf den Klick eines Nutzers auf einen Teil der die zusammensetzbare Funktion Text. Im folgenden Snippet wird ein Link angezeigt, wenn der Nutzer auf „Jetpack Compose“ klickt. Wenn der Nutzer auf den Link klickt, werden Messwerte protokolliert: