본문 바로가기
공부방/Flutter

Flutter의 Text위젯

by SmartCow 2023. 9. 14.

1. Flutter의 Text위젯이란?

Flutter의 Text 위젯은 앱 내에서 텍스트를 표시하기 위해 사용되는 기본 위젯 중 하나로, 단일 스타일의 텍스트를 표시하는 데 사용된다. 이 위젯을 사용하면 앱에서 텍스트를 렌더링하고 텍스트 스타일을 사용자 지정하여 텍스트를 포맷하고 꾸밀 수 있다. 

2. 사용법

Text('안녕하세요, Flutter!')

텍스트 표시 : Text 위젯은 텍스트를 화면에 표시하는 데 사용. 텍스트는 Text 위젯의 data 속성에 문자열로 제공.

Text(
  '스타일 적용된 텍스트',
  style: TextStyle(
    fontSize: 18,
    fontWeight: FontWeight.bold,
    color: Colors.blue,
  ),
)

스타일 지정 : Text 위젯을 사용하여 텍스트 스타일을 사용자 지정할 수 있다. 텍스트의 글꼴, 크기, 색상, 굵기 등을 조절할 수 있다.

Text(
  '가운데 정렬',
  textAlign: TextAlign.center,
)

텍스트 정렬 : Text 위젯은 텍스트의 정렬을 조절하는 textAlign 속성을 제공. 텍스트를 가운데, 왼쪽, 오른쪽으로 정렬할 수 있다.

Text(
  '긴 텍스트가 가로로 너무 길어서 줄 바꿈이 필요한 경우',
  softWrap: true,
)

텍스트 줄 바꿈 : Text 위젯은 softWrap 속성을 사용하여 텍스트 줄 바꿈을 활성화 또는 비활성화할 수 있다. 기본적으로 활성화되어 있으며 텍스트가 화면의 가로 너비를 초과하면 자동으로 줄 바꿈된다.

Text(
  '자간과 줄 간격 조절',
  style: TextStyle(
    letterSpacing: 1.2,
    height: 1.5,
  ),
)

텍스트 자간 및 줄간격 조절: Text 위젯을 사용하여 텍스트의 자간 (letter spacing) 및 줄간격 (line height)을 조절할 수 있다.

Text(
  '긴 텍스트가 오버플로우되는 경우 처리 방법',
  overflow: TextOverflow.ellipsis, // 텍스트가 오버플로우되면 줄임표 (...)를 표시
  maxLines: 2, // 최대 2줄까지 표시
)

오버플로우 처리 : Text 위젯을 사용할 때 텍스트가 화면에 맞지 않는 경우, 오버플로우를 처리하기 위해 overflow 및 maxLines 속성을 사용할 수 있다.

Text(
  'Hello',
  textDirection: TextDirection.ltr, // 텍스트 방향 (왼쪽에서 오른쪽)
  locale: const Locale('en', 'US'), // 로케일 설정
)

로컬라이제이션과 국제화 : Text 위젯은 국제화 및 로컬라이제이션을 지원하기 위해 Locale 및 textDirection 속성을 사용할 수 있다.

RichText(
  text: TextSpan(
    text: 'Hello',
    style: TextStyle(
      fontSize: 18,
      color: Colors.black,
    ),
    children: <TextSpan>[
      TextSpan(
        text: ' Flutter',
        style: TextStyle(
          fontWeight: FontWeight.bold,
          color: Colors.blue,
        ),
      ),
    ],
  ),
)

Rich Text : Text 위젯은 단일 스타일의 텍스트를 표시하는 데 사용되지만, 복잡한 텍스트 스타일 및 구조를 위해 RichText 위젯과 TextSpan을 사용할 수도 있다.

Text 위젯은 Flutter 앱에서 텍스트를 효과적으로 표시하는 데 필수적이며, 다양한 스타일 및 레이아웃 요구 사항을 충족시키기 위해 다양한 옵션과 속성을 제공한다. 이를 통해 앱의 텍스트 컨텐츠를 사용자 지정하고 아름답게 표시할 수 있다.

'공부방 > Flutter' 카테고리의 다른 글

Flutter의 buildContext  (0) 2023.09.25
Flutter의 leading  (0) 2023.09.17
Flutter의 Appbar 사용법  (0) 2023.09.13
Flutter의 Scaffold  (0) 2023.09.11
Flutter의 특징  (0) 2023.08.20