Widgets
In Flutter, almost everything is a widget, including alignment, padding, and layout.
ΠΡΡΡ Π΄Π²Π° ΡΠΈΠΏΠ° Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ² β Stateless
ΠΈ Stateful
. Stateless Widgets
Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡ β ΠΈΡ
ΡΠ²ΠΎΠΉΡΡΠ²Π° Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ, Π²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½Ρ. Stateful Widgets
ΠΌΠΎΠ³ΡΡ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠΈΠΊΠ»Π° ΠΆΠΈΠ·Π½ΠΈ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ°. Π Π΅Π°Π»ΠΈΠ·ΡΡ Stateful Widget
ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π΄Π²Π° ΠΊΠ»Π°ΡΡΠ°:
StatefulWidget
β ΠΊΠ»Π°ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ·Π΄Π°Π΅ΡState
-ΠΊΠ»Π°ΡΡ. Π‘Π°ΠΌ ΠΏΠΎ ΡΠ΅Π±Π΅StatefulWidget
Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌ ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ΄Π°Π»Π΅Π½ ΠΈ ΠΏΠ΅ΡΠ΅ΡΠΎΠ·Π΄Π°Π½.State
β ΠΊΠ»Π°ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΡΠ°Π΅ΡΡΡ ΠΏΡΠΈ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ΅ Π½Π° Π²ΡΠ΅ Π²ΡΠ΅ΠΌΡ Π΅Π³ΠΎ ΠΆΠΈΠ·Π½ΠΈ
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return MaterialApp(
home: const MyHomePage(title: 'Test'),
);
}
}
class MyHomePage extends StatefulWidget {
const MyHomePage({Key? key, required this.title}) : super(key: key);
final String title;
@override
State<MyHomePage> createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
int _counter = 0;
void _incrementCounter() {
setState(() {
_counter++;
});
}
@override
Widget build(BuildContext coontext) {
return Column(
children: <Widget>[
const Text(
'Some counter:',
),
Text(
'$_counter',
),
FloatingActionButton(
onPressed: _incrementCounter,
tooltip: 'Increment',
child: const Icon(Icons.add),
),
],
);
}
}
Last updated