Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
705 of 1024 menu
◀ ▶

Виджет IconTheme

Виджет IconTheme кладёт в дерево IconThemeData. Данные передают в data, поддерево - в child. Все Icon ниже читают цвет и размер из этой темы, если не заданы явно. Прочитать тему помогает метод of.

Синтаксис

IconTheme( data: iconThemeData, child: child, )

Параметры

Параметр Описание
data Цвет, размер и прозрачность иконок. Принимает IconThemeData.
child Дочерние виджеты, для которых действует тема иконок.

Методы

Метод Описание
of Возвращает IconThemeData из ближайшего IconTheme.

Пример

Давайте зададим красный цвет всем иконкам:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: Center( child: IconTheme( data: IconThemeData( color: Colors.red, size: 40, ), child: Row( mainAxisSize: MainAxisSize.min, children: [ Icon(Icons.star), SizedBox(width: 16), Text('abcde'), ], ), ), ), ), ), ); }

На экране звезда станет красной размером 40, рядом текст 'abcde'.

Пример

Давайте уменьшим иконки через IconThemeData:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: IconTheme( data: IconThemeData(size: 20), child: Center( child: Column( mainAxisSize: MainAxisSize.min, children: [ Icon(Icons.home), Text('12345'), ], ), ), ), ), ), ); }

На экране иконка дома и подпись '12345' окажутся по центру, иконка будет компактной.

Смотрите также

  • класс IconThemeData,
    который хранит color и size иконок
  • метод of,
    который читает IconThemeData из контекста
  • виджет Theme,
    в ThemeData которого есть iconTheme
  • виджет Icon,
    который использует тему иконок
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить