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

Класс ElevatedButtonThemeData

Класс ElevatedButtonThemeData хранит ButtonStyle для всех ElevatedButton в поддереве Theme. Объект передают в elevatedButtonTheme у ThemeData. Стиль может задавать цвет фона, форму и padding через WidgetStateProperty.

Синтаксис

ElevatedButtonThemeData( style: ElevatedButton.styleFrom( backgroundColor: Colors.indigo, ), )

Параметры

Параметр Описание
style Общий стиль залитых кнопок. Принимает ButtonStyle.

Пример

Давайте сделать все ElevatedButton indigo:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( theme: ThemeData( elevatedButtonTheme: ElevatedButtonThemeData( style: ElevatedButton.styleFrom( backgroundColor: Colors.indigo, foregroundColor: Colors.white, ), ), ), home: Scaffold( body: Center( child: ElevatedButton( onPressed: () {}, child: Text('abcde'), ), ), ), ), ); }

На экране кнопка с подписью 'abcde' станет indigo с белым текстом.

Пример

Давайте увеличим padding через styleFrom:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( theme: ThemeData( elevatedButtonTheme: ElevatedButtonThemeData( style: ElevatedButton.styleFrom( padding: EdgeInsets.symmetric( horizontal: 32, vertical: 16, ), ), ), ), home: Scaffold( body: Center( child: ElevatedButton( onPressed: () {}, child: Text('12345'), ), ), ), ), ); }

На экране кнопка '12345' станет шире и выше за счёт padding из темы.

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

  • виджет ElevatedButton,
    который читает ElevatedButtonThemeData
  • класс WidgetStateProperty,
    которым задают цвета для состояний кнопки
  • класс ThemeData,
    где лежит elevatedButtonTheme
  • перечисление WidgetState,
    которое описывает pressed и hovered
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить