Kullanıcı etkileşimlerini etkinleştirme

Jetpack Compose, Text ürününde ayrıntılı etkileşim sağlar. Metin seçimi artık daha esnek ve derlenebilir düzenlerde yapılabilir. Text bileşeninin bir bölümüne değiştirici ekleyemezsiniz. Bu nedenle, metindeki kullanıcı etkileşimleri diğer bileşen düzenlerinden farklıdır. Bu sayfada, kullanıcı etkileşimlerini sağlayan API'ler vurgulanmaktadır.

Metin seçin

Varsayılan olarak, composable'lar seçilemez. Bu, kullanıcıların uygulamanızdan metin seçip kopyalayın. Metin seçimini etkinleştirmek için kaydır SelectionContainer composable ile metin öğelerinize ekleyin:

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

Kullanıcı tarafından seçilen kısa bir metin parçası.

Seçilebilir bir alanın belirli bölümlerinde seçimi devre dışı bırakmak isteyebilirsiniz. Bunun için, seçilemeyen kısmı bir DisableSelection bileşeni ile sarmanız gerekir:

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

Daha uzun bir metin parçası. Kullanıcı, metnin tamamını seçmeye çalıştı ancak iki satıra DisableSelection uygulandığı için bu satırlar seçilmedi.

LinkAnnotation ile tıklanabilir metin bölümleri oluşturma

Text üzerindeki tıklamaları dinlemek için clickable özelliğini ekleyebilirsiniz kullanabilirsiniz. Ancak, projenizin belirli bir bölümüne fazladan bilgi eklemek isteyebilirsiniz. Text değerine (örneğin, belirli bir kelimeye ekli bir URL'nin emin olun. Bu gibi durumlarda, metnin tıklanabilir bir bölümünü temsil eden bir ek açıklama olan LinkAnnotation kullanmanız gerekir.

LinkAnnotation ile, aşağıdaki snippet'te gösterildiği gibi, Text bileşeninin bir bölümüne tıklandığında otomatik olarak açılan bir URL ekleyebilirsiniz:

Ayrıca, kullanıcının Text bileşeninin bir bölümünü tıklamasına yanıt olarak özel bir işlem de yapılandırabilirsiniz. Aşağıdaki snippet'te, kullanıcı "Jetpack Compose" (Jetpack Oluştur), bir bağlantı gösterilir ve kullanıcı bağlantıyı tıkladığında: