【发布时间】:2014-10-18 20:54:37
【问题描述】:
使用:Appmethod 1.14
我需要设计一个具有自定义样式的应用程序。将 TStyleBook 放在表单上并双击它会打开样式设计器,但它是空的,所以我需要加载 Appmethod / RAD Studio 附带的 *.fsf 或 *.style 文件之一。我想根据标准的 Android 和 iOS 设计(如果没有应用自定义样式,则在 IDE 中使用的设计)进行设计,但是我在哪里可以找到样式文件?我的问题:有一个“AndroidLight.fsf”文件,它看起来与 IDE 中的默认(硬编码?)Android 设计完全一样。我可以修改它,它可以在 Android 中运行。这很好。但是我不能为 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 提供的 *.style 或 *.fsf 文件,它们看起来像 IDE 中的标准 iOS 7 设计。我可以尝试在样式设计中开始添加我自己的样式部分,但是我如何知道要使用哪些名称以及样式层次结构是如何构建的?哪里有概述吗?
我在“C:\Program Files (x86)\Embarcadero\Studio\14.0\bin\ios\”文件夹中找到了 6 个没有文件扩展名的文件。它们似乎是二进制样式文件(使用十六进制编辑器打开),但我无法在 StyleDesiger 中加载它们,错误:“读取 TSubImage.SourceRect.LeftI 时出错:属性 SourceRect.LeftI 不存在”(或类似的 - 翻译自德语)。
编辑:好的,我现在有了样式。我自己从一个以 iOS 为目标平台的已编译移动 FireMonkey 项目中提取了它们。为此使用了十六进制编辑器。但我想知道样式是否存储在其他地方?
【问题讨论】:
标签: delphi styles firemonkey