Flutter-是否有必要使用预定义的根窗口小部件之一启动每个App?

问题描述

这可能是一个愚蠢的问题,但是我对flutter完全陌生,我正在使用Flutter玩macOS桌面应用程序。 我不想遵循任何设计规则,而只是在玩基本布局。

我的问题:是否需要使用预定义的根窗口小部件之一启动每个App?

MaterialApp()
WidgetApp()
CupertinoApp()

我们的应用程序能否以Container()作为我的代码开头?

void main() {
  runApp(
    new Directionality(textDirection: TextDirection.ltr,child: MyApp())
    );
}
// Root of App
class MyApp extends StatelessWidget {
 
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {  
    
    var mainGrey = parseColor('#282828');
    var dddColor = parseColor('#3e3e3e');
    
    var rootWidget = Container(
      decoration: BoxDecoration(gradient: 
      LinearGradient(begin: Alignment.topLeft,end: Alignment.bottomRight,colors: [mainGrey,dddColor],stops: [0.5,1.0] )
                  ),//color: parseColor('#282828'),//color:Color.fromRGBO(50,50,0.5),child: Column(        
          children: [
            Expanded(child:
            Container(child:
              Row(
                mainAxisAlignment: MainAxisAlignment.start,crossAxisAlignment: CrossAxisAlignment.stretch,children: [
                Flexible(
                  flex:1,child: Container(
                      padding: const EdgeInsets.all(7),decoration: BoxDecoration( border: Border.all(width: 1.0,color: Colors.blue[100])),width: 200,child: _myListMenu(context)
                      ),),Expanded(
                  flex:3,child: Center(child: MainView() )
                ),],)),Container(//Bottom bar
              height:30,color:Colors.blue,child: Row(
                mainAxisAlignment: MainAxisAlignment.center,children:[Text('App Footer',textAlign: TextAlign.end,]),)
            ]
        ),);
    return rootWidget;
  }
}

这是完全糟糕的设计吗?还是我们可以像这样使用颤动?我当然遇到了一些问题。缺少文本方向性,我无法访问MediaQuery。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)