ユーザー操作を有効にする

Jetpack Compose により、Text でのきめ細かい操作が可能となり、テキストをコンポーザブル レイアウト全体でより柔軟に選択できるようになりました。テキストでのユーザー操作では、他のコンポーザブル レイアウトとは異なり、Text コンポーザブルの一部に修飾子を追加することができません。このページでは、主な API について説明します。 構築できます

テキストを選択

コンポーザブルはデフォルトでは選択不可であるため、ユーザーがアプリからテキストを選択してコピーすることはできません。テキストの選択を有効にするには、テキスト要素を SelectionContainer コンポーザブルでラップします。

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

ユーザーが選択した短い文。

選択可能な領域の特定の部分で選択を無効にすることもできます。それには、選択不可にする部分を DisableSelection コンポーザブルでラップする必要があります。

@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")
        }
    }
}

長い文。ユーザーは文全体を選択しようとしましたが、DisableSelection が適用された 2 つの行は選択されませんでした。

LinkAnnotation でクリック可能なテキストのセクションを作成する

Text のクリックをリッスンするには、clickable 修飾子を追加します。ただし、ページの特定の部分に追加情報を Text 値。たとえば、特定の単語に付けられた URL を できます。このような場合は、LinkAnnotation を使用する必要があります。これは、 テキストのクリック可能な部分を表すアノテーション。

LinkAnnotation を使用すると、Text コンポーザブルの一部に URL をアタッチできます。 クリックすると自動的に開きます。以下のスニペットをご覧ください。

また、スペースの一部分をユーザーがクリックしたときの Text コンポーザブル。次のスニペットでは、ユーザーが Google Chat の 「Jetpack Compose」というリンクが表示され、ユーザーが 次のリンクをクリックします。