Text
bileşeni, içeriğine stil uygulamak için birden fazla isteğe bağlı parametreye sahiptir.
Aşağıda, metinle en yaygın kullanım alanlarını kapsayan parametreler listelenmiştir.
Text
parametresinin tümünü görmek için Metin Oluşturma kaynak kodu başlıklı makaleyi inceleyin.
Bu parametrelerden birini ayarlarken stili metin değerinin tamamına uygularsınız. Aynı satırda birden fazla stil uygulamanız gerekiyorsa veya varsa birden fazla satır içi Stil ayarları bölümüne bakın.
Sık kullanılan metin stilleri
Aşağıdaki bölümlerde, metninize stil uygulamanın yaygın yolları açıklanmaktadır.
Metin rengini değiştir
@Composable fun BlueText() { Text("Hello World", color = Color.Blue) }
Metin boyutunu değiştirme
@Composable fun BigText() { Text("Hello World", fontSize = 30.sp) }
Metni italik yapma
Metni italik yapmak için fontStyle
parametresini kullanın (veya başka bir FontStyle
ayarlayın).
@Composable fun ItalicText() { Text("Hello World", fontStyle = FontStyle.Italic) }
Metni kalın yap
Metni kalın yapmak için fontWeight
parametresini kullanın (veya başka bir FontWeight
ayarlayın).
@Composable fun BoldText() { Text("Hello World", fontWeight = FontWeight.Bold) }
Gölge ekleme
style
parametresi, TextStyle
türünde bir nesne ayarlamanıza olanak tanır
ve gölge gibi birden fazla parametreyi yapılandırın.
Shadow
bir renk alır
gölge, ofset veya Text
ve
anlamına gelir.
@Composable fun TextShadow() { val offset = Offset(5.0f, 10.0f) Text( text = "Hello world!", style = TextStyle( fontSize = 24.sp, shadow = Shadow( color = Color.Blue, offset = offset, blurRadius = 3f ) ) ) }
Metne birden fazla stil ekleme
Aynı Text
içinde farklı stiller ayarlamak için
composable, kullanın bir AnnotatedString
,
rastgele ek açıklama stilleriyle ek açıklama eklenebilen bir dizedir.
AnnotatedString
, aşağıdakileri içeren bir veri sınıfıdır:
Text
değeri- Metin değeri içinde konum aralığıyla satır içi biçimlendirmeye eşdeğer olan
SpanStyleRange
boyutunda birList
- Metin hizalamasını, metin yönünü, satır yüksekliğini ve metin girintisi stilini belirten
ParagraphStyleRange
List
TextStyle
kullanım içindir
Text
composable'da, SpanStyle
ve ParagraphStyle
AnnotatedString
içinde kullanım içindir. Şuradaki birden fazla stil hakkında daha fazla bilgi:
Bir paragrafa birden çok stil ekleme bölümüne göz atın.
AnnotatedString
, oluşturmayı kolaylaştırmak için tür açısından güvenli bir oluşturucu içerir: buildAnnotatedString
.
@Composable fun MultipleStylesInText() { Text( buildAnnotatedString { withStyle(style = SpanStyle(color = Color.Blue)) { append("H") } append("ello ") withStyle(style = SpanStyle(fontWeight = FontWeight.Bold, color = Color.Red)) { append("W") } append("orld") } ) }
Brush
ile gelişmiş stili etkinleştirme
Daha gelişmiş metin biçimlendirme özelliğini etkinleştirmek için Brush
API'yi aşağıdaki metinlerle birlikte kullanabilirsiniz:
TextStyle
ve SpanStyle
. Normalde iletişim kurmak
TextStyle
veya SpanStyle
kullanıyorsanız artık Brush
özelliğini de kullanabilirsiniz.
Metin stili için fırça kullanma
TextStyle
içinde yerleşik bir fırça kullanarak metninizi yapılandırın. Örneğin,
metninize aşağıdaki şekilde bir linearGradient
fırçası yapılandırabilir:
val gradientColors = listOf(Cyan, LightBlue, Purple /*...*/) Text( text = text, style = TextStyle( brush = Brush.linearGradient( colors = gradientColors ) ) )
Bu renk şemasıyla veya boyama stiliyle sınırlı değilsiniz. Bu sırada
yerleşik olarak bulunan, Google Drive'da yerleşik olarak bulunan
fırça veya hatta SolidColor
kullanarak metninizi iyileştirin.
Entegrasyonlar
Brush
'ü hem TextStyle
hem de SpanStyle
ile birlikte kullanabileceğiniz için TextField
ve buildAnnotatedString
ile entegrasyon sorunsuzdur.
Brush API'yi TextField
içinde kullanma hakkında daha fazla bilgi için Brush API ile stil girişi başlıklı makaleyi inceleyin.
SpanStyle
kullanarak ek stil
Bir metin bölümüne fırça uygulama
Fırçayı yalnızca metninizin belirli kısımlarına uygulamak istiyorsanız
buildAnnotatedString
, SpanStyle
API ve fırçanız
karar vermemiz gerekir.
Text( text = buildAnnotatedString { append("Do not allow people to dim your shine\n") withStyle( SpanStyle( brush = Brush.linearGradient( colors = rainbowColors ) ) ) { append("because they are blinded.") } append("\nTell them to put some sunglasses on.") } )
Metin aralığında opaklık
Belirli bir metnin opaklığını ayarlamak için SpanStyle
kullanın
isteğe bağlı alpha
parametresidir. Şunlar için aynı fırçayı kullanın:
ve ilgili aralıktaki alfa parametresini değiştirebilirsiniz.
Kod örneğinde, ilk metin aralığı yarı opaklıkta (alpha =.5f
), ikinci metin aralığı ise tam opaklıkta (alpha = 1f
) gösterilmektedir.
val brush = Brush.linearGradient(colors = rainbowColors) buildAnnotatedString { withStyle( SpanStyle( brush = brush, alpha = .5f ) ) { append("Text in ") } withStyle( SpanStyle( brush = brush, alpha = 1f ) ) { append("Compose ❤️") } }
Ek kaynaklar
Daha fazla özelleştirme örneği için Metin Oluşturma Renklendirmesi ile İlgili Bilgiler başlıklı blog yayınını inceleyin. Hakkında daha fazla bilgi almak isterseniz
Brush
öğesinin Animasyonlar API'miz ile nasıl entegre olduğunu görmek için Fırçayla animasyonla metin boyama başlıklı makaleyi inceleyin.
girin.
Metne noktalı çerçeve efekti uygula
basicMarquee
değiştiricisini istediğiniz composable'a uygulayabilirsiniz:
Animasyonlu kaydırma efekti oluşturabilir. Noktalı çerçeve etkisi, içeriğin
mevcut kısıtlamalara sığmayacak kadar geniş. Varsayılan olarak basicMarquee
'te belirli yapılandırmalar (ör. hız ve ilk gecikme) ayarlanmıştır ancak efekti özelleştirmek için bu parametreleri değiştirebilirsiniz.
Aşağıdaki snippet, Text
composable'da temel bir noktalı çerçeve efekti uygular:
@Composable fun BasicMarqueeSample() { // Marquee only animates when the content doesn't fit in the max width. Column(Modifier.width(400.dp)) { Text( "Learn about why it's great to use Jetpack Compose", modifier = Modifier.basicMarquee(), fontSize = 50.sp ) } }
6. Şekil. Metne uygulanan basicMarquee
değiştiricisi.
Sizin için önerilenler
- Not: JavaScript kapalıyken bağlantı metni gösterilir
- Paragraf stili
- E-posta Yazma'da Materyal Tasarım 2
- Grafik Değiştiriciler