【问题标题】:Custom styles in mobile FireMonkey移动 FireMonkey 中的自定义样式
【发布时间】: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


    【解决方案1】:

    您可以通过与 Delphi 捆绑的位图样式设计器获得原始样式。您可以在 IDE 的“工具”菜单上找到该链接。

    打开后,单击“文件打开”图标旁边的下拉菜单。您将看到列出的可用样式。单击一个打开,然后选择 File|Save As 并选择 Save as type: FireMonkey Style。

    【讨论】:

    • 好像是这样。不幸的是...位图样式设计器在 Windows 7 中因 APPCRASH 而崩溃,报告“SHFolder.dll”导致了问题。典型的 Embarcadero 质量......因此,打开默认打开/保存对话框的所有内容都会导致工具崩溃。也导出图像(我需要的那个),所以我无法获得样式。但是,至少,我现在知道在哪里可以买到它们。谢谢!
    • 错误和不稳定性的数量令人难以置信......以防其他人使用位图样式设计器(尤其是打开/保存对话框)永久崩溃:在桌面上创建一个文件夹(或直接在根驱动器(例如 C:\))并将 BitmapStyleDesigner.exe 从“bin”目录复制到该文件夹​​中。看来,该工具与 SHFolder.dll 存在一些问题,并且可能与路径相关...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-13
    • 1970-01-01
    • 2017-01-16
    • 2016-07-29
    • 1970-01-01
    相关资源
    最近更新 更多