Ваши собственные функции
Часть раздела Добавляем интерактивность путешествия по Flutter на Coddy. Урок 6 из 34.
Когда две кнопки делают одно и то же, можно написать код один раз и дать ему имя. Это функция:
void sayHello() {
print('Hello!');
}sayHello — это её имя, код внутри фигурных скобок определяет, что она делает, а void означает, что она ничего не возвращает. Напиши её отдельно, вне class MyApp, например сразу под main.
Чтобы запустить её, напиши её имя со скобками: sayHello();. Чтобы передать её кнопке, напиши имя без скобок:
ElevatedButton(onPressed: sayHello, child: Text('Hi'))Без скобок ты передаёшь кнопке саму функцию, и кнопка запускает её при каждом нажатии. Со скобками, onPressed: sayHello(), Dart запустит её сразу и передаст кнопке результат, то есть ничего, поэтому код не скомпилируется.
Задание
ЛегкоОбе кнопки должны выводить Hello!. Напиши функцию sayHello, которая выводит Hello!, и назначь её кнопке Say hello и плавающей кнопке с изображением машущей руки.
Попробуйте сами
import 'package:flutter/material.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
home: Scaffold(
body: Center(
child: ElevatedButton(
onPressed: () {
print('Hello!');
},
child: Text('Say hello'),
),
),
floatingActionButton: FloatingActionButton(
onPressed: () {},
child: Icon(Icons.waving_hand),
),
),
);
}
}
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Добавляем интерактивность
1Кнопки
Ваша первая кнопкаВывод в консольТекстовые и контурные кнопкиКнопки с иконкамиПлавающая кнопка действия7Переключатели и ползунки
Включаем и выключаем переключателемОтмечаем флажокВыбираем значение ползункомПотренируйтесь самостоятельно: Онлайн-компилятор Flutter