Класс TextStyle
Класс TextStyle задаёт оформление символов для
Text и TextSpan.
Главные поля: color, fontSize,
fontWeight типа
FontWeight,
fontStyle типа
FontStyle,
decoration типа
TextDecoration,
height межстрочный интервал, letterSpacing.
Изменить стиль помогают методы copyWith,
merge,
apply,
lerp.
Синтаксис
TextStyle(
color: Colors.black,
fontSize: 16,
fontWeight: FontWeight.bold,
)
Параметры
| Параметр | Описание |
|---|---|
color |
Цвет символов. Принимает
Color.
|
fontSize |
Размер шрифта в логических пикселях. |
fontWeight |
Насыщенность шрифта. Принимает
FontWeight.
|
fontStyle |
Прямое или курсивное начертание. Принимает
FontStyle.
|
decoration |
Линия у текста: подчёркивание или зачёркивание. Принимает
TextDecoration.
|
height |
Межстрочный интервал как множитель размера шрифта. |
letterSpacing |
Дополнительный промежуток между буквами. |
Методы
| Метод | Описание |
|---|---|
copyWith |
Создаёт новый TextStyle с изменёнными полями. Давайте рассмотрим его на примерах.
|
merge |
Объединяет два стиля, поля второго перекрывают первый. Давайте рассмотрим его на примерах. |
apply |
Умножает размер, интервалы и высоту на коэффициенты. |
lerp |
Интерполирует между двумя стилями по параметру t. Давайте рассмотрим его на примерах. |
Пример
Давайте зададим подчёркнутый синий текст:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: Text(
'abcde',
style: TextStyle(
color: Colors.blue,
fontSize: 18,
decoration: TextDecoration.underline,
),
),
),
),
),
);
}
На экране строка 'abcde' будет синей
и с линией под текстом.
Пример
Давайте включим курсив и увеличим межбуквенный интервал:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: Text(
'12345',
style: TextStyle(
fontStyle: FontStyle.italic,
letterSpacing: 4,
fontSize: 20,
),
),
),
),
),
);
}
На экране текст '12345' будет наклонным
и с заметными зазорами между буквами.
Смотрите также
-
класс
FontWeight,
который задаёт толщину шрифта -
класс
TextDecoration,
который включает линии под или над текстом -
метод
copyWith,
который копирует стиль с новыми полями -
виджет
DefaultTextStyle,
который раздаётTextStyleдочернимText