Чтобы создать многоразовый виджет во Flutter, вы можете использовать различные методы. Вот несколько примеров:
Метод 1: создание пользовательского виджета без состояния
import 'package:flutter/material.dart';
class CustomWidget extends StatelessWidget {
final String text;
CustomWidget({required this.text});
@override
Widget build(BuildContext context) {
return Container(
child: Text(text),
);
}
}
Использование:
CustomWidget(text: 'Hello, World!');
Метод 2: создание пользовательского виджета StatefulWidget
import 'package:flutter/material.dart';
class CustomWidget extends StatefulWidget {
final String text;
CustomWidget({required this.text});
@override
_CustomWidgetState createState() => _CustomWidgetState();
}
class _CustomWidgetState extends State<CustomWidget> {
@override
Widget build(BuildContext context) {
return Container(
child: Text(widget.text),
);
}
}
Использование:
CustomWidget(text: 'Hello, World!');
Метод 3: расширение существующего виджета
import 'package:flutter/material.dart';
class CustomWidget extends TextField {
final String hintText;
CustomWidget({required this.hintText});
@override
Widget build(BuildContext context) {
return TextField(
decoration: InputDecoration(
hintText: hintText,
),
);
}
}
Использование:
CustomWidget(hintText: 'Enter your name');
Метод 4: использование виджета Builder
import 'package:flutter/material.dart';
class CustomWidget extends StatelessWidget {
final String text;
CustomWidget({required this.text});
@override
Widget build(BuildContext context) {
return Builder(
builder: (BuildContext context) {
return Container(
child: Text(text),
);
},
);
}
}
Использование:
CustomWidget(text: 'Hello, World!');
Это всего лишь несколько примеров создания многоразовых виджетов во Flutter. Выбор метода зависит от ваших конкретных требований и сложности виджета, который вы хотите создать.