我如何在 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

的默认值