Будучи новичком во Flutter, я хочу знать, является ли хорошей практикой разделение элементов любой страницы, например HOME, на разные классы или файлы DART.
Если ответ положительный, мне нужна помощь с этим.
Я знаю, что мне нужно включать страницы как на материнских, так и на дочерних страницах .dart друг к другу. Что меня смущает, так это то, сколько я должен упомянуть для части страницы. (пожалуйста, простите мое рождение, если оно есть)
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'AppName',
home: MyHomePage(),
);
Что мне вернуть? Приложение Material уже запускает Mother или главную страницу, так что же нужно добавить? Или я должен просто закодировать такие элементы, как Row, Column, Card и т.д.
Если последнее верно, то как мне их называть? Будут ли они автоматически вызываться при выполнении MAIN .dart?
~Дополнение~
Могу ли я вернуть любой виджет макета (строка/столбец/карточка) из ничего !!
нравиться
class MyHomePage extends StatelessWidget{
@override
Widget build(BuildContext context) {
return Row(
children: <Widget>[
(Я думаю, это логично, потому что все запросы в конечном итоге будут перенаправлены на MAIN.dart)
Любая помощь приветствуется.
Да, вы можете создать множество каталогов и расположить в них свои файлы Dart, такие как services, model и config. Поскольку вы называете main.dart, другие классы определенно не будут находиться в main.dart, позвольте мне сказать так, maon.dart =>homepage.dart => productPage.dart=>.......
это просто навигация при переходе к некоторым классам параметров обязательно анализируйте параметры
Если я правильно понял ваш вопрос, позвольте мне ответить на примере:
Скажем, ваш main.dart выглядит следующим образом:
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'AppName',
home: MyHomePage(),
);
}
}
и ваш home_page.dart:
class MyHomePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("AppName"),
),
body: Row(
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: [
CustomWidget1(),
CustomWidget2(),
],
),
);
}
}
Тогда CustomWidget1 может быть (в файле с именем custom_widget_1.dart):
class CustomWidget1 extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Center(
child: Text("CustomWidget1"),
);
}
}
Тогда CustomWidget2 может быть (в файле с именем custom_widget_2.dart):
class CustomWidget2 extends StatefulWidget {
CustomWidget2({Key key}) : super(key: key);
@override
_CustomWidget2State createState() => _CustomWidget2State();
}
class _CustomWidget2State extends State<CustomWidget2> {
@override
Widget build(BuildContext context) {
return Center(
child: Text("CustomWidget2"),
);
}
}
Привет, Кайло. Да, ты меня правильно понял. Я думал о сложной логике, вскоре после публикации этого вопроса я понял, что слишком усложняю вещи и неправильно заявляю. Итак, покопавшись некоторое время с этим, я выяснил ошибки, которые были во многих местах и с моей концепцией. Итак, то, что я обнаружил, было легко: мне нужно создать класс «настраиваемого виджета» в своем собственном файле дротика, и при включении в MAIN среда IDE автоматически распознает этот файл дротика как собственный КЛАСС, а также импортирует связанные файл. Спасибо за ваши усилия, я действительно ценю это.
Привет, Сэм, извините, если мои слова были неясны, но я просил элементы страницы, а не несколько страниц, таких как строки столбцов, карты и стопки на домашней странице.