样式手册样式列表中的"默认"平台标记的用途是什么?



UPDATE:我从头开始做了一个新的测试项目,这个项目确实在windows和android上的主窗体上应用了默认平台标记内的样式,所以下面看到的行为可能与我项目的其他部分有关。。我会做更多的测试。(我有一个样式"背景样式",矩形画笔填充颜色设置为红色(

更新2:一旦我为例如android平台添加了1个特定的样式,就不再考虑任何"默认"平台样式。主窗体突然不再是红色。

为了给我的概念验证多平台应用程序做一个好的样式设计,我正在更仔细地研究样式书。一般来说,将样式与应用程序逻辑分离当然是非常受欢迎的。尽管我更不确定这个原则的fmx实现是否是最优的(我正在寻找我需要更改哪个样式资源的哪个属性,以获得我想要的除了简单文本或矩形之外的任何东西……但这可能取决于我自己。(。我也明白,每个目标平台都有自己的习惯,坚持这些习惯是一种很好的做法(至少,如果你想成为跨栏的一部分:-(。但我想说的是,例如,我的主要应用程序颜色是由我决定的,并且应该在各个平台上保持一致。似乎为了实现这一点,我需要在所有多个单独的样式上改变这一点——资源——(在列表中190个样式中的每一个以及位图中的所有位图中都可能指定填充颜色,并且这适用于每个比例和每个源链接名称。(。。。结果通常是,我坚持"高级"开箱即用的风格:-(
我曾希望"默认"平台标记能起到拯救作用,并为所有风格提供这个平台,而BY EXCEPTION,只有一些特定于平台的风格重复和更改,如果真的需要的话。文件中写道:

注意:还有"默认"平台标记。当应用程序找不到>当前平台的匹配样式时,FireMonkey应用程序加载>默认样式。

但它似乎不是这样工作的。例如,在android上,这些默认样式(在运行时(总是被忽略,并恢复到嵌入式平台特定的样式,但在windows中,这些样式确实被使用了。。。(在设计时的IDE中,我所选择的每个平台都会显示相同的默认样式——(在我的示例中,我只需使用主窗体背景颜色(=backgroundstyle笔刷填充颜色(作为一个简单的测试设置:在默认平台的"backgroundstyle">
上更改笔刷填充颜色,并在windows/android上运行它(。

那么,样式书中默认平台的用途是什么呢?有什么我不明白的吗?还是一个bug?有没有一种方法可以通过样式书跨平台使用一组样式?如果没有,你能创建和部署一个单一的样式文件并在运行时加载,并在所有平台上使用它吗?(这个样式文件中应该有一个平台标记吗?如果不是"真正"正确的目标平台,样式会被忽略吗…(
因此,我发现自己在代码中做了很多运行时样式设计,因为我真的相信它会是平台一致的,但我想这不是真正的目的。。。。

似乎当您将样式书属性"UseStyleManager"设置为true时,那么(第一(样式确实。。。使用:-(,而不考虑平台。这也意味着,当您的样式容器不包含正确的样式资源时,您的组件可能是不可见的!但当它们可用时,它们会在所有平台上一致地呈现。

只有一个单一的风格(定义(可能是个人的偏好,只要需要,就破例。但根据我的经验,浏览和处理风格资源列表是很耗时的,所以我需要验证的"集合"越少越好。

如果我仍然需要为特定平台使用不同的样式,我需要在运行时覆盖该特定平台上该组件的样式查找名称,当然,还需要将该特定样式查找名称添加到我的默认样式容器中(简单地将新平台添加到样式书并使用相同的查找名称将不起作用,因为在该设置中会忽略它(。

最新更新