这可能是个愚蠢的问题,但我是 Flutter 的新手,我正在使用 Flutter 玩 macOS 的桌面应用程序。我不想遵循任何设计规则,我只是在玩基本的布局。
我的问题:是否有必要使用预定义的根小部件之一启动每个应用程序?
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, 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。