Класс IconThemeData
Класс IconThemeData хранит color,
size и opacity для
Icon.
Объект передают в data у IconTheme
или в iconTheme у ThemeData.
Синтаксис
IconThemeData(
color: Colors.blue,
size: 24,
)
Параметры
| Параметр | Описание |
|---|---|
color |
Цвет значка. Принимает Color.
|
size |
Размер значка в логических пикселях. |
opacity |
Прозрачность значка от 0 до 1. |
Пример
Давайте зададим IconThemeData в ThemeData:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
theme: ThemeData(
iconTheme: IconThemeData(
color: Colors.orange,
size: 32,
),
),
home: Scaffold(
body: Center(
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
Icon(Icons.star),
Text('12345'),
],
),
),
),
),
);
}
На экране звезда станет оранжевой
размером 32, под ней подпись '12345'.
Пример
Давайте обернём часть экрана в IconTheme:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Icon(Icons.home),
IconTheme(
data: IconThemeData(
color: Colors.purple,
),
child: Icon(Icons.settings),
),
Text('abcde'),
],
),
),
),
);
}
На экране первая иконка возьмёт тему приложения, шестерёнка станет purple из IconThemeData.