단락 내에서 텍스트를 굵게 (또는 서식) 지정하려면 어떻게합니까?


105

서식이 다른 텍스트 줄을 어떻게 만들 수 있습니까?

예 :

Hello World

답변:


221

RichText 위젯을 사용해야합니다 .

RichText 위젯은 자식 TextSpan 목록도 포함 할 수 있는 TextSpan 위젯을받습니다.

각 TextSpan 위젯은 다른 TextStyle을 가질 수 있습니다 .

다음은 렌더링 할 예제 코드입니다. Hello World

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)),
    ],
  ),
 );

28

[최신 정보]

아래 답변은 단락이 아닌 두 단어에 가장 적합합니다. 긴 문장이나 특정 텍스트의 서식을 지정해야하는 단락이있는 경우 위의 답변에서 @DvdWasibi가 제안한대로 RichText 사용을 선호합니다.

[이전 답변]

나는 내 코드를 짧고 깔끔하게 유지하는 것을 좋아합니다. 이것은 Normal 글꼴과 다른 굵은 글씨 로 행에 두 개의 텍스트 필드를 추가하는 방법입니다 .

참고 : 긴 단락에서는 좋지 않을 수 있습니다. 헤드 라인 등에 적합합니다.

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

원하는 출력을 "Hello World " 로 얻어야합니다.


8
텍스트 단락이있는 경우 이것은 좋은 생각이 아닙니다. 행 내부의 각 Text ()는 자체 수직 / 수평 공간을 만듭니다.
Muhammad Adil

그래서 Row를 사용하는 대안은 무엇입니까? 다른 형식으로 텍스트를 나란히
놓고 싶다면

3
@Dvdwasibi에서 위의 답변을 살펴보고 큰 단락으로 구현을 시도하면 두 개의 다른 단락이 나란히 있습니다. 귀하의 대답은 2/3 단어에 대해서는 정확하지만 단락에는 적용되지 않습니다.
Muhammad Adil

1
동의합니다. 답변을 업데이트 한 방식으로 감사합니다. :)
maheshmnj

천만
에요

9
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?'),
    ],
  ),
);
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.