Jetpack Compose, Text
ürününde ayrıntılı etkileşim sağlar. Metin seçimi (şimdiki değeri)
artık daha esnek olacak ve composable düzenlerde uygulanabiliyor. Kullanıcı etkileşimleri
Değiştirici ekleyemediğiniz için metinler, diğer composable düzenlerden farklıdır.
Text
composable'ın bir bölümüne geri dönüyor. 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") } }
Seçilebilir bir alanın belirli bölümlerinde seçimi devre dışı bırakmak isteyebilirsiniz. Yapılacaklar
bu nedenle, seçilemeyen bölümü bir DisableSelection
composable:
@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") } } }
LinkAnnotation
ile tıklanabilir metin bölümleri oluşturun
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 eklenmiş bir URL'nin
tarayıcı. Bu gibi durumlarda LinkAnnotation
kullanmanız gerekir.
metnin tıklanabilir bir bölümünü temsil eden bir ek açıklama.
LinkAnnotation
ile Text
composable'ın bir kısmına URL ekleyebilirsiniz
aşağıdaki snippet'te gösterildiği gibi, tıklandığında otomatik olarak açılır:
@Composable fun AnnotatedStringWithLinkSample() { // Display a link in the text Text( buildAnnotatedString { append("Build better apps faster with ") withLink( LinkAnnotation.Url( "https://developer.android.com/jetpack/compose", TextLinkStyles(style = SpanStyle(color = Color.Blue)) ) ) { append("Jetpack Compose") } } ) }
Ayrıca,
Text
composable. Aşağıdaki snippet'te, kullanıcı "Jetpack Compose"u tıkladığında bir bağlantı gösterilir ve kullanıcı bağlantıyı tıkladığında metrikler günlüğe kaydedilir:
@Composable fun AnnotatedStringWithListenerSample() { // Display a link in the text and log metrics whenever user clicks on it. In that case we handle // the link using openUri method of the LocalUriHandler val uriHandler = LocalUriHandler.current Text( buildAnnotatedString { append("Build better apps faster with ") val link = LinkAnnotation.Url( "https://developer.android.com/jetpack/compose", TextLinkStyles(SpanStyle(color = Color.Blue)) ) { val url = (it as LinkAnnotation.Url).url // log some metrics uriHandler.openUri(url) } withLink(link) { append("Jetpack Compose") } } ) }
Sizin için önerilenler
- Not: JavaScript kapalıyken bağlantı metni gösterilir
- Yazma sırasında anlamlar
- Oluşturma bölümünde erişilebilirlik
- Compose'da Materyal Tasarım 2