首页 > 解决方案 > 如何为特定平台设置小部件样式?

问题描述

我想为 iOS 或 Android 添加一个属性/样式的小部件。我检查了 Flutter 文档,但他们的示例更复杂,并且专注于特定代码。

假设我有一个Container小部件,我想padding在底部添加一些,但仅适用于 iOS 设备。我怎样才能做到这一点?

Container(
        color: Colors.red,
        margin: EdgeInsets.only(top: 10),
        padding: EdgeInsets.only(bottom: 10), //ONLY FOR iOS
      ),

标签: flutter

解决方案


感谢@GrahamD的想法,我将使用三元运算符Platform.isIOS属性来解决这个问题:

import 'dart:io';

//This can also be used with Platform.isAndroid

Container(
  padding: Platform.isIOS ? EdgeInsets.only(bottom: 10) : EdgeInsets.all(0),
)

这将检查平台是否是带有Platform.isIOS. 如果为,那么它将添加padding仅针对该平台指定的 I。如果它是的,那意味着它Platform.isAndroid真的,所以它不会添加任何padding.


推荐阅读