【发布时间】:2019-07-29 05:50:49
【问题描述】:
我想使用类似于 androids dimens.xml 的东西来强制我的应用程序保持一致性。
考虑到 Material Design 在 Flutter 中的高度集成度,我确信 Material Design 会有一些预定义的值可供使用,但我找不到类似的东西。
我错过了吗? 如果没有,实施它的最佳方法是什么? 只是一个持有静态变量的类?
【问题讨论】:
-
您好!不完全的。我想通过引用一些预定义值的集合来使用尺寸来填充、边距和固定大小。例如,我可能想用
height = dimens.buttonHeight、width = demens.buttonWidth、padding = dimen.buttonPadding和margin = dimen.buttonMargin创建一个按钮。在 android 开发中有一个名为dimens.xml的文件,您可以在其中预定义这些(我相信您已经知道),我总是将其设置为遵循材料设计“8 规则”(8 的倍数)。我认为它可能会默认实现。如果没有,这可能是一个不错的补充! -
我没有做过任何 Android 开发,对此一无所知(尝试了谷歌但没有深入了解它),但它仍然认为主题是你在 Flutter 中最接近的。
-
ThemedData 非常混乱且文档记录不充分。也许这只是我。最重要的是,它没有我所要求的填充、边距或大小的任何参数。除此之外,还有一些缺少关系信息的冲突参数,例如primarySwatch/PrimaryColor。文档中还有一些参数没有出现在我的编辑器中,例如 appBarTheme。同样,这可能只是我。
-
ThemedData 是所有提供的材料小部件使用的(Cupertino 小部件使用类似的东西),所以最后你需要创建类似的东西。对于您的自定义小部件,您可以自己构建类似的东西。
标签: android flutter material-design flutter-layout