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
위젯을 적절하게 활용하여 다양한 서식과 스타일을 적용한 텍스트를 효율적으로 표현할 수 있습니다.