我如何在 flutter 中使用 if/else 语句?
How do i use if/else statement inside a child in flutter?
我想使用if/else语句
因此,仅当 方向为横向 时,我才能为列设置 MainAxisAlignment.spaceEvenly。所以,它不会改变我的纵向布局。
这是代码
class _MobileLayout extends StatelessWidget {
const _MobileLayout({Key key}) : super(key: key);
@override
Widget build(BuildContext context) {
var orientation = MediaQuery.of(context).orientation;
return Container(
width: orientation == Orientation.portrait ? 250 : 100,
decoration: BoxDecoration(
color: Colors.white,
boxShadow: [
BoxShadow(
blurRadius: 16,
color: Colors.black12,
)
],
),
child: Column(
children: AppDrawer.getDrawerOptions(),
),
);
}
}
我试过很多方法
默认值为MainAxisAlignment mainAxisAlignment = MainAxisAlignment.start,
,因此您可以按以下方式操作;
child: Column(
mainAxisAlignment: orientation == Orientation.landscape?
MainAxisAlignment.spaceEvenly : MainAxisAlignment.start,
children: AppDrawer.getDrawerOptions(),
),
这也将使用 portrait
的默认值
我想使用if/else语句
因此,仅当 方向为横向 时,我才能为列设置 MainAxisAlignment.spaceEvenly。所以,它不会改变我的纵向布局。
这是代码
class _MobileLayout extends StatelessWidget {
const _MobileLayout({Key key}) : super(key: key);
@override
Widget build(BuildContext context) {
var orientation = MediaQuery.of(context).orientation;
return Container(
width: orientation == Orientation.portrait ? 250 : 100,
decoration: BoxDecoration(
color: Colors.white,
boxShadow: [
BoxShadow(
blurRadius: 16,
color: Colors.black12,
)
],
),
child: Column(
children: AppDrawer.getDrawerOptions(),
),
);
}
}
我试过很多方法
默认值为MainAxisAlignment mainAxisAlignment = MainAxisAlignment.start,
,因此您可以按以下方式操作;
child: Column(
mainAxisAlignment: orientation == Orientation.landscape?
MainAxisAlignment.spaceEvenly : MainAxisAlignment.start,
children: AppDrawer.getDrawerOptions(),
),
这也将使用 portrait