Класс InputDecorationTheme
Класс InputDecorationTheme описывает рамку,
подписи, hint и цвета фокуса для полей ввода.
Объект передают в inputDecorationTheme
у ThemeData. Так оформляют все
TextField
в приложении сразу.
Синтаксис
InputDecorationTheme(
border: OutlineInputBorder(),
filled: true,
)
Пример
Давайте включим заливку у всех полей:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
theme: ThemeData(
inputDecorationTheme: InputDecorationTheme(
filled: true,
fillColor: Colors.grey.shade100,
),
),
home: Scaffold(
body: Center(
child: Padding(
padding: EdgeInsets.all(24),
child: TextField(
decoration: InputDecoration(
labelText: 'abcde',
),
),
),
),
),
),
);
}
На экране поле ввода получит серую заливку из InputDecorationTheme.
Пример
Давайте зададим скруглённую рамку:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
theme: ThemeData(
inputDecorationTheme: InputDecorationTheme(
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(12),
),
),
),
home: Scaffold(
body: Center(
child: SizedBox(
width: 200,
child: TextField(
decoration: InputDecoration(
hintText: '12345',
),
),
),
),
),
),
);
}
На экране рамка поля станет скруглённой
радиусом 12 для hint '12345'.
Смотрите также
-
виджет
TextField,
который наследуетInputDecorationTheme -
класс
InputDecoration,
который задаёт оформление одного поля -
класс
ThemeData,
куда кладут inputDecorationTheme -
виджет
TextFormField,
который тоже использует тему полей