[flutter] RichText 위젯 사용 방법

Flutter에서 텍스트를 다양한 스타일과 서식으로 표시하려면 RichText 위젯을 사용할 수 있습니다. 이 위젯을 사용하면 하나의 텍스트 구간에 여러 가지 서식을 적용할 수 있어서 풍부한 텍스트 표현이 가능합니다.

RichText 위젯의 구조

RichText 위젯은 여러 개의 TextSpan을 포함하고, 각각의 TextSpan은 특정한 스타일과 텍스트를 가지고 있습니다. RichText 위젯은 children으로 TextSpan 목록을 받아들이며, 각 TextSpan은 텍스트와 서식 데이터를 가집니다. 이를 통해 RichText를 통해 복잡한 서식을 적용할 수 있습니다.

RichText(
  text: TextSpan(
    style: DefaultTextStyle.of(context).style,
    children: <TextSpan>[
      TextSpan(text: 'Hello', style: TextStyle(fontWeight: FontWeight.bold)),
      TextSpan(text: ' beautiful ', style: TextStyle(fontStyle: FontStyle.italic)),
      TextSpan(text: 'world', style: TextStyle(fontWeight: FontWeight.bold)),
    ],
  ),
)

위 예제는 “Hello”는 굵게, “beautiful”은 이탤릭체, “world”는 굵게 서식으로 적용되는 텍스트를 RichText를 사용하여 표현한 것입니다.

RichText 사용 시 주의사항

RichText 위젯은 일반적인 Text 위젯보다 복잡하며, 레이아웃을 잡는 데 추가적인 연산을 필요로 합니다. 따라서 텍스트를 표시할 때 RichText를 남용하지 않고 최소한으로 사용하는 것이 좋습니다. 또한, 하나의 RichText 위젯이 여러 개의 TextSpan을 가질 경우, 그 수가 많아질수록 성능에 영향을 미칠 수 있습니다.

RichText 위젯은 특히 텍스트의 스타일이나 서식이 동적으로 변하는 경우에 유용하게 사용됩니다. 정적인 텍스트 표시에는 Text 위젯을 사용하는 것이 좋고, 동적으로 변하는 텍스트나 다양한 서식을 표현해야 하는 경우에는 RichText를 활용하면 됩니다.

RichText 위젯을 적절하게 활용하여 다양한 서식과 스타일을 적용한 텍스트를 효율적으로 표현할 수 있습니다.

참조: Flutter 공식 문서 - RichText