使用:Appmethod 1.14
我需要设计一个自定义样式的应用程序。在表单上放置一个TStyleBook并双击它打开样式设计器,但它是空的,所以我需要加载一个*。FSF或*。Appmethod/RAD Studio附带的样式文件。我想做一个基于标准Android和iOS设计的设计(那些在IDE中使用,如果没有自定义的风格应用),但我在哪里找到的风格文件?我的问题是:有一个"AndroidLight"。Fsf"文件,看起来完全像默认的(硬编码?)Android的IDE设计。我可以修改它,它在安卓上也能运行。这很好。但是我不能在iOS上使用相同的样式(我需要在Android和iOS上使用一个单一的样式),因为应用程序只是冻结(如果我使用TStyleBook)或显示我一个错误,样式不能从资源加载(如果我将其添加为资源并从那里加载):
procedure TUserDataForm.FormCreate(Sender: TObject);
var
Style: TFMXObject;
begin
MainScroll := VertScrollBox1;
{$IFDEF Android}
// works
Style := TStyleManager.LoadFromResource(HInstance, 'DSRAndroidIOS', RT_RCDATA);
{$ENDIF}
{$IFDEF iOS}
// Can't load same style file
Style := TStyleManager.LoadFromResource(HInstance, 'DSRAndroidIOS', RT_RCDATA);
{$ENDIF}
if Style <> nil then
TStyleManager.SetStyle(Style);
end;
我找不到其他的*。样式或*。Appmethod/RAD Studio附带的fsf文件,看起来像IDE中的标准iOS 7设计。我可以尝试开始在Style Designed中添加自己的样式部分,但是我如何知道使用哪些名称以及样式层次结构是如何构建的呢?有什么概述吗?
我在文件夹"C:Program files (x86)EmbarcaderoStudio14.0binios"中发现6个没有文件扩展名的文件。它们似乎是二进制样式文件(用十六进制编辑器打开),但我无法在StyleDesiger中加载它们,错误:"读取TSubImage.SourceRect.LeftI: Property SourceRect错误。"LeftI不存在"(或类似-从德语翻译过来)。
编辑:好的,我现在有样式了。我自己从一个编译的移动FireMonkey项目中提取了它们,以iOS为目标平台。使用十六进制编辑器。但我想知道如果样式存储在其他地方可能吗?您可以通过与Delphi捆绑的位图样式设计器获得原始样式。您可以在IDE的Tools菜单上找到链接。
打开后,单击文件打开图标旁边的下拉菜单。您将看到列出的可用样式。点击其中一个打开,然后选择文件|另存为,选择另存为类型:FireMonkey Style。