flutter - 如何为特定平台设置小部件样式?
问题描述
我想为 iOS 或 Android 添加一个属性/样式的小部件。我检查了 Flutter 文档,但他们的示例更复杂,并且专注于特定代码。
假设我有一个Container
小部件,我想padding
在底部添加一些,但仅适用于 iOS 设备。我怎样才能做到这一点?
Container(
color: Colors.red,
margin: EdgeInsets.only(top: 10),
padding: EdgeInsets.only(bottom: 10), //ONLY FOR iOS
),
解决方案
感谢@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
.
推荐阅读
- spring-kafka - 使用 Spring Cloud Stream 回复 KafkaTemplate
- python - 从用户获取数组输入
- vue.js - “这”未定义
- python - setup_class引发异常时如何跳过所有测试用例
- spring - com.fasterxml.jackson.databind.exc.InvalidDefinitionException:没有为类 org.hibernate.proxy.pojo.bytebuddy.ByteBuddyInterceptor 找到序列化程序
- python - 根据“B”列的条件计算“A”列的“新列”
- flutter - 颤动中动态创建的复选框不会改变点击状态
- ravendb - 如何在 ravendb 3.5 中找到附件?
- angular - 角度 markForCheck 与 detectChanges
- c# - 在 Xamarin.Forms/Android 中拍摄未初始化视图的快照