Paragraf içindeki bir metni nasıl kalınlaştırırım (veya formatlarım)?


97

Farklı biçimlendirmeye sahip bir metin satırına nasıl sahip olabilirim?

Örneğin:

Merhaba Dünya

Yanıtlar:


202

RichText widget'ını kullanmalısınız .

Bir RichText widget'ı, TextSpans alt öğelerinin bir listesini de içerebilen bir TextSpan widget'ını alır.

Her TextSpan widget'ı farklı bir TextStyle'a sahip olabilir .

Oluşturulacak örnek kod: Merhaba Dünya

var text = new RichText(
  text: new TextSpan(
    // Note: Styles for TextSpans must be explicitly defined.
    // Child text spans will inherit styles from parent
    style: new TextStyle(
      fontSize: 14.0,
      color: Colors.black,
    ),
    children: <TextSpan>[
      new TextSpan(text: 'Hello'),
      new TextSpan(text: 'World', style: new TextStyle(fontWeight: FontWeight.bold)),
    ],
  ),
 );

26

[GÜNCELLEME]

Aşağıdaki cevap, bir paragraf için değil, birkaç kelime için en iyisidir.Özel bir metni biçimlendirmeniz gereken uzun bir cümleniz veya paragrafınız varsa, yukarıdaki cevapta @DvdWasibi tarafından önerildiği gibi RichText kullanmayı tercih edin.

[ESKİ CEVAP]

Kodumu kısa ve temiz tutmayı seviyorum, bunu nasıl yapardım? Bir satırda biri Normal yazı tipi diğeri kalın olmak üzere iki metin alanı eklerim ,

Not: Uzun bir paragraf, Başlıklar vb. İçin iyi göründüğünde bu iyi görünmeyebilir.

Row(children: <Widget>[
      Text("Hello"),
      Text("World", style: TextStyle(fontWeight: FontWeight.bold))
    ])
`

ve "Merhaba Dünya " olarak istediğiniz çıktıyı almalısınız


8
Bir paragraf metniniz olacaksa, bu harika bir fikir değil. Satır içindeki her Metin () kendi dikey / yatay alanını oluşturur.
Muhammad Adil

Peki, Row kullanmanın alternatifi nedir? ve farklı biçimlendirmeye sahip yan yana metin istiyorsam
maheshmnj

2
@Dvdwasibi'nin yukarıdaki cevabına bakın, uygulamanızı büyük paragrafla deneyin ve yan yana iki farklı paragraf bulacaksınız. Cevabınız 2/3 kelime için Doğru, ancak bir paragraf için değil.
Muhammad Adil

10
return RichText(
  text: TextSpan(
    text: 'Can you ',
    style: TextStyle(color: Colors.black),
    children: <TextSpan>[
      TextSpan(
        text: 'find the',
        style: TextStyle(
          color: Colors.green,
          decoration: TextDecoration.underline,
          decorationStyle: TextDecorationStyle.wavy,
        ),
        recognizer: _longPressRecognizer,
      ),
      TextSpan(text: 'secret?'),
    ],
  ),
);
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.